Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 需要ASP推荐:(Linq或SqlDataSource?+;(Response.Write或UserControls或Repeater?_.net_Linq_User Controls_Sqldatasource_Response.write - Fatal编程技术网

.net 需要ASP推荐:(Linq或SqlDataSource?+;(Response.Write或UserControls或Repeater?

.net 需要ASP推荐:(Linq或SqlDataSource?+;(Response.Write或UserControls或Repeater?,.net,linq,user-controls,sqldatasource,response.write,.net,Linq,User Controls,Sqldatasource,Response.write,我是ASP.net的新手,正在开发一个网站,其中包含用户友好的分类项目列表,并在单击项目的详细信息(图像库、文本、联系人表单等,可能还有以后的用户评论和费率)时保存这些项目。我读了很多书,仍然可以对我的问题得出结论,因此我需要一条建议。我需要在两个重要事项中提出[性能好+复杂度低+不太可能被否决]的建议,我现在正在努力决定 1)Linq还是SqlDataSource?我不介意为SqlDataSource编写SQL,但我已经读到Linq是新时代,所以我担心在2年内会有一个过时的站点。或者不注意Li

我是ASP.net的新手,正在开发一个网站,其中包含用户友好的分类项目列表,并在单击项目的详细信息(图像库、文本、联系人表单等,可能还有以后的用户评论和费率)时保存这些项目。我读了很多书,仍然可以对我的问题得出结论,因此我需要一条建议。我需要在两个重要事项中提出[性能好+复杂度低+不太可能被否决]的建议,我现在正在努力决定

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

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

请告诉我最好的(推荐的)技巧,以便开始了解细节并继续进行项目。
非常感谢。

GridView是为表数据设计的。它可以按照你描述的方式被操纵,但这不是重点。Repeater或ListView在您描述为想要做的事情方面会做得更好。作为补充说明,所有这些数据绑定控件都使用迭代器,迭代器可以完全在代码端完成(我通常这样做),也可以使用数据源控件

在内存中构建html表并使用响应写入(甚至文字控件)将非常快,但您必须重新编译以对表示层进行任何更改,并且如上所述,无法使用更新面板

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

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


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

非常感谢Stephen,我在我的项目listview和repeater中使用了这两种解决方案,到目前为止,即使使用了更新面板,也取得了很好的效果(非常简单和酷)。我决定使用数据源。我创建了一些具有Datasource属性的类,因此我将代码中的listview或repeater与subject中该类的对象绑定。再次感谢。