将 Asp.Net UserControl 用作 SharePoint WebPart
Posted
技术标签:
【中文标题】将 Asp.Net UserControl 用作 SharePoint WebPart【英文标题】:Use Asp.Net UserControl as a SharePoint WebPart 【发布时间】:2011-12-01 12:26:38 【问题描述】:我有一个尴尬的场景(我想)。我在一个针对 4.0 框架的项目中有一个 Asp.Net UserControl,并且还使用了第 3 方 dll(Telerik 控件)。
我尝试使用 vs2010 在 Empty Sharepoint (2010) 项目中复制用户控件和对 Visual Webpart 的所需引用。但它不允许引用 dll,而后者又引用 4.0 框架等。
所以我的问题...有可能做到这一点吗?如果是这样,将非常感谢详细的步骤。
谢谢,
KS
【问题讨论】:
SharePoint 2010 可与 ASP.NET 3.5 一起使用,而不能与 ASP.NET 4.0 一起使用,因此您不能只将用户控件复制到可视化软件中。尽管 WebParts 从 UserControls 继承,但它们并不相同,因为其中存在 SharePoint 特定的内容。 我刚刚创建了一个以 4.0 框架为目标的示例项目,并使用 SmartPart2010 (Codeplex) 将其安装在 Sharepoint 2010 站点上。似乎工作得很好,所以我猜更复杂项目的问题是确保所有依赖项都已签名和安装。我什至不需要创建 Sharepoint 项目 - 这很棒 - 虽然让我们看看我是否可以让我的目标 UserControl 项目启动并运行。 有趣。虽然仍然不建议 MS 使用 ASP.NET 4.0,我怀疑您是否能够使用它构建真正的解决方案。一个标准的类库项目并构建一个 SmartPart 并将其部署到 usercontrols 文件夹 - 确保有效,但它不是 SP 方式 ;-) 【参考方案1】:如果您的第三方 dll 用于 .net 3.5,那么您可以使用该 dll 并以与 smartPart 项目加载相同的方式使用用户控件,或者您可以只使用 smartpart Web 部件。
但是您不能在 sharepoint 2010 中使用 .net 版本 4 程序集。 SP2010 面向 .net 3.5,只能使用 3.5 及之前版本的程序集。
您可以测试 smartpart 环境的原因很可能是因为您没有导入任何针对 .net 4 的 dll,或者 uc 中包含的方法都不是来自 .net 3.5。
Sharepoint 2010 .net 版本所以问题here。
【讨论】:
以上是关于将 Asp.Net UserControl 用作 SharePoint WebPart的主要内容,如果未能解决你的问题,请参考以下文章
如何在 UserControl (.ascx) 中调用 ASP.NET WebMethod
[ASP.NET]UserControl透过属性,动态加入RequiredFieldValidator
在 asp.net 中,如何从 usercontrol 获取自定义 webcontrol 的引用?
ASP.NET UserControl 和 DefaultEvent