Sharepoint:Web部件与ASP.NET用户控件

时间:2008-10-23 21:53:42

标签: sharepoint web-parts

为Sharepoint创建Web部件时,创建实际的Web部件,或者使用和ASP.NET用户控件(.ascx)一样好吗?

我已经知道如何创建我需要的用户控件,因此创建Web部件的额外工作似乎只是不必要的腿部工作。

使用Web部件而不仅仅是创建和ASP.NET用户控件有什么好处?

2 个答案:

答案 0 :(得分:10)

除了最简单的网页部件外,我是用户控件的忠实粉丝。我创建了一个实例化并加载用户控件的webpart。还有其他工具可以用来暴露你的用户控件,比如smartpart,但我建议你自己把它包起来,因为它是一个很好的学习经验。一旦完成一次,您基本上就有了一个模板用于您想要创建的任何其他Web部件。

祝你好运!

答案 1 :(得分:8)

必须将一个简单的ASP.NET ascx控件添加到自定义布局页面中。这限制了控件的实用性,因为它无法“随处”添加。

拥有webpart可以灵活地将控件多次添加到站点中的不同位置,甚至可以在具有不同属性的同一页面上多次添加。

正如已经提到的那样,使用CreateChildControls()在webpart中创建控件是件好事,将webpart编码和打包成解决方案并不是什么大不了的事,因此值得付出额外的努力

Webparts还能够接受来自同一页面上“过滤器”webparts的连接,与在网站上托管ascx控件相比,为webpart提供了额外的灵活性。

对于使用该网站的编辑来说,与编辑页面布局,发布它然后根据该页面布局创建页面相比,它们能够添加webpart会有很大的不同,所以从角度来看在网站编辑器中,可用性的差异非常大。

我建议更进一步,编写你的webpart以使用xslt文件来显示内容,并使xslt的位置成为webpart的可配置属性。这个真的增加了控件的灵活性。

查看Dataview webpart,了解添加自定义渲染可以完成多少工作。