所以,我对 ASP.net 开发还是有点陌生,而且我已经不喜欢股票 ASP.net 控件以表格格式显示我的数据库查询结果。(即我更愿意自己处理 HTML,设计师也一样!)
所以我的问题是:在不使用 ASP.net 控件的情况下,最好和最安全的做法是什么?到目前为止,我唯一的想法是在 Page_Load 事件期间填充我的查询结果,然后通过 getter 将 DataTable 公开给 *.aspx 页面。从那里我想我可以迭代一个 foreach 循环并按照我认为合适的方式制作我的表。
我相信你正在寻找一个<Repeater>
控制。它包含一些类似于 GridViews 的功能,但允许您自己手工制作 Header、Item 和 Footers 的所有 HTML。只需像调用 gridview 一样调用数据绑定代码,然后更改 ASPX 页面以满足您确切的 HTML 需求。
中继器的继任者是ListView,它也将帮助您手工制作 HTML。
如果您对手动编写 HTML 代码更感兴趣,那么可能值得一看ASP.NET MVC 项目。与标准 WebForms 相比,您可以对事物进行更多控制。
顺便说一句,在 Page_Load 中插入数据访问代码绝不是一个好主意。它将您的演示文稿与您的数据代码联系得太紧密。看看上面建议的 MVC,它应用标准设计模式来分离关注点,或者在谷歌搜索“ASP.NET nTier”或类似的东西。启动和运行网站可能需要更长的时间,但从长远来看,它会为您省去痛苦。
三个选项:
学习使用现有的控件,如 GridView;使用适当的 CSS,它们看起来会非常漂亮,因为它们只是在客户端生成 HTML
使用模板或 StringBuilder 生成 HTML 并将其放入网页上的文字控件中
购买具有您喜欢的控件的第三方库
从长远来看,数字 1 是 asp.net 的“最佳”选项,因为您实际上将掌握其他人使用的控件;选项 2 很乏味;选项 3 是一种快速解决方案,可能很昂贵