在ASP.net中创建无控件的数据表的最佳实践
时间:2020-03-05 18:54:56 来源:igfitidea点击:
因此,我仍然对ASP.net开发还是有点陌生,而且我已经不喜欢使用普通的ASP.net控件以表格格式显示数据库查询结果。 (即,我宁愿自己处理HTML,设计师也一样!)
所以我的问题是:在不使用ASP.net控件的情况下进行此操作的最佳和最安全的做法是什么?到目前为止,我唯一的想法是在Page_Load事件期间填充查询结果,然后通过吸气剂将DataTable暴露给* .aspx页面。从那里开始,我认为我可以遍历一个foreach循环并按我认为合适的方式制作表格。
解决方案
回答
我相信我们正在寻找<Repeater>
控件。它包含一些与GridViews类似的功能,但是允许我们手工制作Header,Item和Footers的所有HTML。只需像调用gridview一样调用数据绑定代码,然后更改ASPX页面以适合确切HTML需求即可。
http://msdn.microsoft.com/en-us/magazine/cc163780.aspx
回答
中继器的后继者是ListView,它还将手工制作HTML。
回答
如果我们对手工编写HTML更加感兴趣,那么可能值得研究一下ASP.NET MVC项目。与标准WebForms相比,我们对事物有更多的控制权。
顺便说一句,在Page_Load中插入数据访问代码绝不是一个好主意。它使演示文稿与数据代码之间的联系过多。看看上面建议的MVC,它采用标准设计模式来分离关注点,或者在Google中搜索" ASP.NET nTier"或者类似内容。一个网站的启动和运行可能需要更长的时间,但从长远来看,它将使我们免于痛苦。
回答
三种选择:
- 学习使用诸如GridView之类的现有控件;使用适当的CSS,它们看起来会很不错,因为它们只是在客户端生成HTML
- 使用模板或者StringBuilder生成HTML,并将其放在网页上的Literal控件中
- 购买具有我们喜欢的控件的第三方库
从长远来看,数字1是asp.net的"最佳"选项,因为我们实际上将掌握其他所有人使用的控件。选项2乏味;选项3是快速解决方案,可能会很昂贵