这个问题可能有一个非常简单的解决方案,但由于我根本不了解 Sharepoint,而且似乎无法通过谷歌搜索我的智慧之路,也许你们中的一个人可以引导我朝着正确的方向前进。
背景:目前我在一个项目中工作,我们的 Web 解决方案的一部分是由 Sharepoint 构成的,我之前完全没有来自 Sharepoint 的经验。最近,我一直在为看似非常简单的任务而苦苦挣扎,将(网络)用户控件添加到我们解决方案中的一个 Sharepoint 页面。这项任务有两个重要要求;
- 用户控件和代码隐藏必须位于并组成一个单独的程序集
- 该大会必须签署
用户控件程序集实际上是另一个带有 Default.aspx 的 ASP.NET Web 应用程序,所以我可以使用 Cassini 的模型来调试用户控件。当我通过 Default.aspx 调试它时,它工作正常,显示用户控件,我可以按预期使用它。
我的 web.config 中有这些行:
<SafeControls>
[..]
<SafeControl Assembly="MyMainNamespace.SubNamespace.SelectorPopup, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7fa78676161515a2" Namespace="MyMainNamespace.SubNamespace.SelectorPopup" TypeName=" *" Safe=" True " />
[..]
</SafeControl>
在 Sharepoint 页面上,我输入了以下内容:
<% @Register TagPrefix= "Selector" Namespace="MyMainNamespace.SubNamespace.SelectorPopup" Assembly="MyMainNamespace.SubNamespace.SelectorPopup" %>
[..]
<Selector:SelectorBoxControl runat="server" SelectorType="ContentArea" ></ Selector: SelectorBoxControl>
我们的项目是部署在 IIS6 (Windows Server 2003) 上的 .NET 3.5 (2.0) 上的 ASP.NET Web 项目,我们使用的是 Sharepoint 2007、SQL Server 2005。构建、部署和 Visual Studio 标记都很好。
问题:部署到我们的测试环境后,Sharepoint 页面上根本不显示用户控件,我不知道为什么。
构建和部署工作正常,甚至显示 Sharepoint 页面,只是我的控件无处可见。实际上,HTML 响应完全不包含我的用户控件的痕迹。即使我在控件中放置了纯 HTML 文本并且没有任何功能。没有错误消息,并且事件处理程序没有提供有关可能的错误或警告的信息。
我错过了什么吗?有什么我需要启用的,我需要添加的属性或某处的引用吗?无论如何我可以让这种非显示行为生成一个可以理解的错误消息吗?