需要ASP建议:(Linq或SqlDataSource?)+(Response.Write或UserControls或R



我是ASP.net的新手,正在开发一个网站,该网站包含用户友好的分类项目列表,以及点击项目的详细信息(图片库、文本、联系表格等,可能还有稍后的用户评论和价格)。我读了很多书,仍然可以对我的问题得出结论,所以我需要一条建议。在我现在正试图决定的两件重要事情上,我需要一个[良好的性能+低复杂性+不被弃用]的建议。

1)Linq还是SqlDataSource?我不介意为SqlDataSource编写SQL,但我读到Linq是一个新时代,所以我担心2年后会有一个过时的网站。或者不注意林克的好处。

2)我认为我不能对产品分页列表使用gridview控件,因为它们对公司目标客户的布局非常严格。产品列表的网页设计是一种youtube视频结果列表。单击后会显示项目的孔信息(在其他页面中)。我应该如何为产品列表生成HTML代码?我曾经连接"html"+阅读器数据(查询结果),并用Response.Write()将其发送到页面,但我读到它不容易与UpdatePanel一起使用,而且它有点"老技术",你对此的立场是什么?。然后我开始阅读关于中继器的文章,但我相信它们不允许我处理我的模型类,因为我看到的例子直接评估了查询。最后,我开始阅读关于创建我自己的控件"ASP用户控件"的内容,该控件将允许我保留自定义html块(带有内部div的样式列表项)并添加一些类属性(数据库信息),我希望这些属性可以在当前布局中生成产品列表。请记住,我可能很快就会被要求实现ajax分页。

请允许我知道最好的(推荐)技术,以便开始学习细节并继续项目。非常感谢。

GridView是为表数据而设计的。它可以用你描述的方式来操纵,但这不是重点。Repeater或ListView在你描述的想要做的事情方面会做得更好。顺便说一句,所有这些数据绑定控件都采用了迭代器,这可以完全在代码端完成(我通常这样做),或者你可以使用DataSource控件。

在内存中构建一个html表并使用响应写入(甚至是文字控件)会很快,但您必须重新编译才能对表示层进行任何更改,而且如上所述,更新面板不起作用。

也就是说,我从不使用UpdatePanel。我使用jquery发布/获取数据,然后使用jquery进行影响UI的更改。

除了使用基于服务器的解决方案外,还有可以与asp.net一起使用的CLIENT端解决方案,例如用于构建MVC表单的Knockout.js库。

现在,对于Linq和SqlClient,这确实是一个偏好问题,每种都有优点和缺点。Linq-to-sql很容易使用(对于大多数情况),但对底层数据库的更改必须反映在DataContext中。就我个人而言,我喜欢Linq-to-sql,并尽可能使用它。

最新更新