我是ASP.net的新手,正在开发一个网站,该网站包含用户友好的分类项目列表,以及点击项目的详细信息(图片库、文本、联系表格等,可能还有稍后的用户评论和价格)。我读了很多书,仍然可以对我的问题得出结论,所以我需要一条建议。在我现在正试图决定的两件重要事情上,我需要一个[良好的性能+低复杂性+不被弃用]的建议。
1)Linq还是SqlDataSource?我不介意为SqlDataSource编写SQL,但我读到Linq是一个新时代,所以我担心2年后会有一个过时的网站。或者不注意林克的好处。
2)我认为我不能对产品分页列表使用gridview控件,因为它们对公司目标客户的布局非常严格。产品列表的网页设计是一种youtube视频结果列表。单击后会显示项目的孔信息(在其他页面中)。我应该如何为产品列表生成HTML代码?我曾经连接"html"+阅读器数据(查询结果),并用Response.Write()将其发送到页面,但我读到它不容易与UpdatePanel一起使用,而且它有点"老技术",你对此的立场是什么?。然后我开始阅读关于中继器的文章,但我相信它们不允许我处理我的模型类,因为我看到的例子直接评估了查询。最后,我开始阅读关于创建我自己的控件"ASP用户控件"的内容,该控件将允许我保留自定义html块(带有内部div的样式列表项)并添加一些类属性(数据库信息),我希望这些属性可以在当前布局中生成产品列表。请记住,我可能很快就会被要求实现ajax分页。
请允许我知道最好的(推荐)技术,以便开始学习细节并继续项目。非常感谢。
在内存中构建一个html表并使用响应写入(甚至是文字控件)会很快,但您必须重新编译才能对表示层进行任何更改,而且如上所述,更新面板不起作用。
也就是说,我从不使用UpdatePanel。我使用jquery发布/获取数据,然后使用jquery进行影响UI的更改。
除了使用基于服务器的解决方案外,还有可以与asp.net一起使用的CLIENT端解决方案,例如用于构建MVC表单的Knockout.js库。
现在,对于Linq和SqlClient,这确实是一个偏好问题,每种都有优点和缺点。Linq-to-sql很容易使用(对于大多数情况),但对底层数据库的更改必须反映在DataContext中。就我个人而言,我喜欢Linq-to-sql,并尽可能使用它。