读书人

asp.net页面展示数据是否必须用数据

发布时间: 2012-07-31 12:33:47 作者: rapoo

asp.net页面显示数据,是否必须用数据控件
在asp.net当中,我想实现在前台页面显示出我从数据库当中查询出的数据。
是否必须用数据控件dridview之类的控件?
不使用数据控件,还有其他方式吗?讨教了!

[解决办法]
你也可以用直接在后台写出来html代码,显示出来。
[解决办法]
用.NET提供的控件显示数据简单点 否则还要自己读取 操作很麻烦
还有一种情况就是用第三方提供的控件
[解决办法]
你也可以自己写循环输出,用数据控件就是简单点
[解决办法]
自己写循环读出来
[解决办法]
使用循环都在。aspx中写!也不是很麻烦!我可是写过!但是没控件快!
[解决办法]
不少必须使用,想想PHP,ASP,JSP是怎么混下来的就知道啦
[解决办法]
使用数据控件简单,但是个性化不足,而且需要时间去学习

自己写就是工作量大一些了

其它没什么特殊区别。
[解决办法]
可以自己拼接html,灵活
[解决办法]
一般用repeater绑,repeater完成不了的话就从后台循环打出来了StringBuilder,效率比连接字符串高一些!
[解决办法]
你可以采用repeater控件,他不会产生多余的代码。
[解决办法]
要不要用 ,取决于你,方法多的很
[解决办法]
循环往页面写
[解决办法]

探讨
使用循环都在。aspx中写!也不是很麻烦!我可是写过!但是没控件快!

[解决办法]
这篇文章就介绍了如何不适用数据绑定控件来显示数据库中的数据。
asp.net夜话之七:ADO.NET介绍

一个小例子:
HTML code
   1. <%@ Page Language="C#" %>   2. <%@ Import Namespace="System.Data.SqlClient" %>   3. <%@ Import Namespace="System.Data" %>   4. <%@ Import Namespace="System.Text" %>   5. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   6. <script runat="server">   7. //注:为了方便没有使用代码页面方式,实际开发中这种做大很少见   8.     protected void Page_Load(object sender, EventArgs e)   9.     {  10.           11.           12.     }  13.     public void ShowData()  14.     {  15.         //实例化Connection对象  16.         SqlConnection connection = new SqlConnection("Data Source=(local);Initial Catalog=AspNetStudy;Persist Security Info=True;User ID=sa;Password=sa");  17.         //实例化Command对象  18.         SqlCommand command = new SqlCommand("select * from UserInfo where sex=1", connection);  19.         //打开Connection对象  20.         connection.Open();  21.         //得到DataReader的实例,注意使用了CommandBehavior这个参数,以便同时关闭Connection  22.         SqlDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);  23.         //如果当前记录还有下一条记录,则循环不会终止  24.         while (reader.Read())  25.         {  26.             Response.Write("<tr><td>" + reader.GetInt32(0) + "</td>");//按照列顺序和对应类型直接读取值  27.             Response.Write("<td>" + reader.GetString(1) + "</td>");//按照列顺序和对应类型直接读取值  28.             Response.Write("<td>" + reader.GetString(2) + "</td>");//按照列顺序和对应类型直接读取值  29.             Response.Write("<td>" + reader.GetByte(3) + "</td>");//按照列顺序和对应类型直接读取值  30.             //下面是按照列顺序直接读取值,并且根据值来判断最终显示结果  31.             Response.Write("<td>" + (reader.GetBoolean(4)==true?"男":"女") + "</td>");  32.             //根据列顺序读,列的值需要做相应转换  33.             Response.Write("<td>" + reader[5].ToString() + "</td>");  34.             //根据列名来读取,列的值需要做相应转换  35.             Response.Write("<td>" + reader["Phone"] + "</td>");  36.             Response.Write("<td>" + reader["Email"].ToString() + "</td></tr>\n");  37.         }  38.         reader.Close();  39.     }  40. </script>  41. <html xmlns="http://www.w3.org/1999/xhtml" >  42. <head runat="server">  43.     <title>无标题页</title>  44. </head>  45. <body>  46.     <form id="form1" runat="server">  47.     <div>  48.     <table border="1" cellpadding="0" cellspacing="0">  49.     <tr><td>编号</td><td>帐号</td><td>真实姓名</td><td>年龄</td><td>性别</td><td>手机</td><td>电话</td><td>电子邮件</td></tr>  50.     <%   51.         //在页面中调用后台代码,这样也能保证生成的代码不会位于<html></html>标记之外  52.         ShowData();   53.     %>  54.     </table>  55.     </div>  56.     </form>  57. </body>  58. </html> 


[解决办法]

探讨
在asp.net当中,我想实现在前台页面显示出我从数据库当中查询出的数据。
是否必须用数据控件dridview之类的控件?
不使用数据控件,还有其他方式吗?讨教了!

[解决办法]
同意
[解决办法]
我觉得看要求、看情况吧。
另外,向MVP周公学习
[解决办法]
一般用repeater,简单方便,如果需要进行其他其他操作的话gridview就很好用
[解决办法]
一般不用控件,大多数自己写HTML
[解决办法]
如果不用控件的话,就是自己拼html了
[解决办法]
你可以重写Page类的Render方法

protected override void Render(HtmlTextWriter writer)
[解决办法]
像楼上说的这样 以前我们公司就是把这种拼接操作做成一个库 一部分再封成webcontrol 以后用自己的来调
[解决办法]
不是必须呀。你也可以直接写HTML。

比如:返回一个数据在一个PUBLIC 的LIST里面。

那么HTML直接写:

<ul style="list-style:none;">
<%foreach(类型 t in List列表)
{%>
<li>t.显示的属性字段<li>
}

<%}%>
</ul>

当然,返回是DATATABLE 也可这样写。
[解决办法]
探讨
不是必须呀。你也可以直接写HTML。

比如:返回一个数据在一个PUBLIC 的LIST里面。

那么HTML直接写:

<ul style="list-style:none;">
<%foreach(类型 t in List列表)
{%>
  <li>t.显示的属性字段 <li>
}

<%}%>
</ul>

当然,返回是DATATABLE 也可这样写。

[解决办法]
探讨
在asp.net当中,我想实现在前台页面显示出我从数据库当中查询出的数据。
是否必须用数据控件dridview之类的控件?
不使用数据控件,还有其他方式吗?讨教了!

[解决办法]
http://blog.csdn.net/xianfajushi/archive/2009/07/22/4371397.aspx
[解决办法]
这是个典型的“说谎者悖论”,很多成事不足败事有余者对玩这种悖论乐此不疲。

如果你代码写了三、四遍,你怎么办?copy?如果你稍微动点编程,就知道自己写成可复用的东西了吧?!这就是控件。

如果你需要在各种项目中总共重复1000次,如果你需要给几百万程序员共享,共享控件有什么不好?!


控件也是人写的。第一个写他的人可以说只有低级的东西才是“万能的”,而之后就没有道理这么说了。如果你有本事写好代码,就一定能写出更好的控件用于自己复用和给别人使用,而不需要简单地去讨论是否该用控件的问题。
[解决办法]
如果你真的写出了比微软的asp.net还好的代码,请把它写成控件用于自己复用,并且可以给同事和更多的人使用。我可以帮你推荐给微软发布到asp.net新版本中啊!!!

如果控件包括自己写的可复用代码,你觉得该用控件还是不该用控件。
[解决办法]
呵呵,帮我去看下怎么抽象化。。。
[解决办法]
探讨
这是个典型的“说谎者悖论”,很多成事不足败事有余者对玩这种悖论乐此不疲。

如果你代码写了三、四遍,你怎么办?copy?如果你稍微动点编程,就知道自己写成可复用的东西了吧?!这就是控件。

如果你需要在各种项目中总共重复1000次,如果你需要给几百万程序员共享,共享控件有什么不好?!


控件也是人写的。第一个写他的人可以说只有低级的东西才是“万能的”,而之后就没有道理这么说了。如果你有本事写好代码,就一定能写出更好的控件用于自己复用和给别人使用,而不需要简单地去讨论是否该用控件的问题。

[解决办法]
当你什么都不懂时,可以自己做个轮子,摸索下原理。
当你赶项目时,还从轮子做起,那就是跟自己过不去了。
[解决办法]
探讨
不少必须使用,想想PHP,ASP,JSP是怎么混下来的就知道啦

------解决方案--------------------


http://topic.csdn.net/u/20100207/22/2b32cdef-2852-4097-8567-bdfe264d5eba.html?seed=128057693&r=63331352#r_63331352
我帮你写好了一个 列表控件 还带分页,80%的情况下可以抛弃服务器控件跟数据源控件了。
[解决办法]
呵呵,除了Repeater还是Repeater,简单好用,
[解决办法]

C# code
/// <summary>/// 近日出租房源/// </summary>/// <returns></returns>protected string BindHireHouseByDate(int number, string mongering){  var strHtml = "";  DataTable dt = new Bll.MyManage.RentSaleManage().QueryTopHireByDate(number, mongering, "", "", "", "", 0, 0);  for (int i = 0; i < dt.Rows.Count; i++)   {     var linkTitle = dt.Rows[i]["HouseName"].ToString();     strHtml += "<tr>\n";     strHtml += "<td height=\"24\" align=\"center\"><a href='/hire/Detail.aspx?h="     + NewHouse.Common.Input.DesEncrypt(dt.Rows[i]["RSID"].ToString())     + "'style=\"COLOR: #fe0000\" target=\"_blank\" title=\"" + linkTitle + "\" >"     + (dt.Rows[i]["HouseName"].ToString().Length > 10 ? dt.Rows[i]["HouseName"].ToString().Substring(0, 10) : dt.Rows[i]["HouseName"].ToString()) + "</a></td>\n";     strHtml += "<td align=\"center\"><a href='/hire/Detail.aspx?h=" + NewHouse.Common.Input.DesEncrypt(dt.Rows[i]["RSID"].ToString())                    + "' target=\"_blank\" title=\"" + linkTitle + "\" >" + dt.Rows[i]["RoomNum"].ToString() + "室" + dt.Rows[i]["HallNUm"].ToString() + "厅</td>\n";                strHtml += "<td align=\"center\">" + dt.Rows[i]["TotalArea"].ToString() + "</td>\n";                strHtml += "<td align=\"center\">" + dt.Rows[i]["RentPrice"].ToString() + "元</td>\n";                strHtml += "</tr> \n";                if ((i + 1) < dt.Rows.Count)                {                    strHtml += "<tr><td height=\"5\" colspan=\"5\" align=\"center\" class=\"xx1\"></td></tr>";                }            }            return strHtml;        }
[解决办法]
习惯自己写html标签,灵活方便
[解决办法]
看情况咯
但我觉得在后台写还是好点!!
[解决办法]
探讨
使用数据控件简单,但是个性化不足,而且需要时间去学习

自己写就是工作量大一些了

其它没什么特殊区别。

[解决办法]
可以自己手写 http://www.lookxin.cn/html/ASP.NET/
[解决办法]
可以不用,就像asp那样,但是如果在.net平台下,去那样做,那还不如不用asp.net,

读书人网 >asp.net

热点推荐