在ASP.net中创建没有控件的数据表的最佳实践

时间:2008-09-16 01:27:42

标签: .net asp.net

所以,我仍然是ASP.net开发的新手,我已经不喜欢用ASP.net控件来显示表格格式的数据库查询结果了。 (即我更愿意自己处理HTML,设计师也是如此!)

所以我的问题是:在不使用ASP.net控件的情况下,最好和最安全的做法是什么?到目前为止,我唯一的想法是在Page_Load事件期间填充我的查询结果,然后通过getter将DataTable暴露给* .aspx页面。从那里我想我可以用foreach循环迭代并按照我的意愿制作我的桌子。

4 个答案:

答案 0 :(得分:4)

我相信你正在寻找<Repeater>控件。它包含一些类似于GridViews的功能,但允许您自己手工制作Header,Item和Footers的所有HTML。只需像对gridview一样调用数据绑定代码,然后更改ASPX页面以满足您的确切HTML需求。

http://msdn.microsoft.com/en-us/magazine/cc163780.aspx

答案 1 :(得分:3)

转发器的后继者是ListView,它还可以帮助您手工制作HTML。

答案 2 :(得分:1)

如果您对手动编码HTML感兴趣,可能值得查看ASP.NET MVC project。与标准WebForms相比,您可以更好地控制事物。

顺便说一句,在Page_Load中插入数据访问代码绝不是一个好主意。它将您的演示文稿与您的数据代码联系在一起。看看上面建议的MVC应用标准设计模式来分离问题,或者谷歌搜索“ASP.NET nTier”或类似的东西。让网站启动并运行可能需要一段时间,但从长远来看,这将为您节省很多痛苦。

答案 3 :(得分:1)

三个选项:

  1. 学会使用像GridView这样的现有控件;使用适当的CSS,它们看起来非常好,因为它们只是在客户端生成HTML

  2. 使用模板或StringBuilder生成HTML并将其放在网页上的Literal控件中

  3. 购买具有您喜欢的控件的第三方库

  4. 从长远来看,数字1是asp.net的“最佳”选项,因为你实际上将掌握其他人使用的控件;选项2很乏味;选项3是一个快速修复,可能很昂贵