如何修复SharePoint Web部件代码隐藏中当前上下文中不存在的变量
本文关键字:上下文 不存在 变量 隐藏 SharePoint 何修复 Web 代码 | 更新日期: 2023-09-27 18:19:41
在为SharePoint 2010开发Web部件时,我是个十足的傻瓜。我创建了一个Web部件,上面有按钮。当单击该按钮时,我希望它将用户重定向到另一个页面。这似乎是一个简单的操作,但我遇到了障碍。
在我的MyWebPart.ascx.cs文件中,我有以下代码:
protected void Button_Click(object sender, EventArgs e)
{
// Get the values the user inputted
try
{
String category = SearchBySelector.SelectedValue;
String keyword = SearchField.Text;
SPWeb root = SPContext.Current.RootWeb.Url;
String url = root + "/path/to/site.aspx?category=" + category + "&keyword=" + keyword;
SPUtility.Redirect(url);
}
catch (Exception ex)
{
StatusLabel.ForeColor = "#FF0000";
StatusLabel.Text = "Exception encountered." + ex.Message;
}
}
我遇到的问题是,SPContext(和SPUtility)在这个上下文中没有被识别。我该如何解决这个问题?我想我需要一些包容?我也不是C#专家,这可能从我的代码中可以明显看出。
如有任何帮助,我们将不胜感激。
SPContext和SPUtility都需要完全限定的命名空间,它们分别是Microsoft.SharePoint.SPContext
和Microsoft.SharePoint.Utilities.SPUtility
。
您可以在代码中使用这些完全限定的类名,也可以在代码文件的顶部添加两个using
语句:
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
如果Visual Studio仍然因为无法识别这些类型或命名空间而对您大发雷霆,那么您需要确保Microsoft.SharePoint
程序集已添加到项目中的引用中。您可以从Visual Studio中的"解决方案资源管理器"窗口添加引用。