不要用控件,就直接显示搜索结果,如何写代码?
不要用控件,直接显示搜索结果如何写代码? 问题点数:100、回复次数:9Top
1 楼shrinerain(圣影雨)回复于 2006-03-03 17:14:31 得分 10
那就像asp一样咯
假设数据已经填充到一个DataReader
Response.Write("<table>")
while(reader.Read())
{
Response.Write("<tr><td>"+reader["id"]+"</td></tr>");
}
Response.Write("</table>")Top
2 楼lovefootball(蟑螂(生活就是扯淡--做人要放低姿态))回复于 2006-03-03 17:51:10 得分 10
直接Response.WriteTop
3 楼dolfen(网海之豚(每天进步一点点))回复于 2006-03-03 18:18:10 得分 10
直接Response.Write出来的HTML代码会在页面最顶端(在<html>标签的上面),
这样吧:
string outCode="<table ...>";
outCode="<tr><td>标题1</td><td>标题2</td>...</tr>";
while(...)
{
outCode="<tr>";
outCode="<td>"+...+"</td>";
outCode="<td>"+...+"</td>";
outCode="</tr>";
}
outCode="</table>";
Label1.Text=outCode; //Label1放在适合的输出位置。
Top
4 楼air_space(正在学习ASP.NET)回复于 2006-03-04 16:44:39 得分 0
THS.Top
5 楼CnEve(龙哥哥)回复于 2006-03-04 19:46:31 得分 10
为什么不要用控件?这样简直好比有飞机不乘,反去搭汽车~``Top
6 楼flyinging(一路走来)回复于 2006-03-04 20:35:37 得分 10
response.write
或直接将数据绑定到空白处,在html 里面,Top
7 楼LHA(心动)回复于 2006-03-04 21:52:56 得分 10
回忆一下 ASP吧 那个时候没有控件 就像那个时候一样写 就OK了
1. Response.write
2. Title :<%=RS("Title")%>Top
8 楼califord(远方)回复于 2006-03-04 23:51:04 得分 10
比较烦的,你要有一定的HTML基础才行,说白了就是自己在语言来写呀。具体的上面的说了很多了哟Top
9 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2006-03-04 23:57:51 得分 30
Reponse.Write是最直接的方法,但是是最坏的做法。我个人认为在ASP.NET中任何地方都绝对不应该用Response.Write,虽然这个方法没有打上“已过期”的记号,但我觉得它仅仅是为了兼容ASP而从一开始有.NET就是“已过期”的了。
如果能用控件,一定要用控件,即使自己继承System.Web.UI.Control(或其任何一个派生类)写一个服务器端控件。因为这是ASP.NET的基本模型,也就是Request生成控件树加HttpContext,再由控件树加HttpContext生成Response,比起ASP直接通过Request的数据生成Response的优势在于控件树中每一个控件之间都应该是正交设计的、相互影响尽量少的。
如果你真的不想用控件,那么你就在Page这个大控件中恰当的地方(例如某个事件或者某个可以override的函数)使用HtmlTextWriter来输出HTML。实际上在Page中做这个事情你还是逃不出控件的使用,不过你是在用Page这个控件树中处于比较根部的控件而已,而且也不如你自己编写一个控件好用。至于使用HtmlTextWriter,因为这是ASP.NET中真正生成HTML流的地方,然后才流给Response最后流到客户端去。Top




