如何修复 SharePoint WebPart 代码后面的当前上下文中不存在的变量?
How to fix variable does not exist in current context in SharePoint WebPart code behind?
在为 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
。
您可以在代码中使用完全限定的 class 名称,或者在代码文件的顶部附加两个 using
语句:
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
如果 Visual Studio 仍然对您咆哮说无法识别这些类型或名称空间,您需要确保 Microsoft.SharePoint
程序集已添加到项目的引用中。您可以在 Visual Studio.
中从解决方案资源管理器 window 添加引用
在为 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
。
您可以在代码中使用完全限定的 class 名称,或者在代码文件的顶部附加两个 using
语句:
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
如果 Visual Studio 仍然对您咆哮说无法识别这些类型或名称空间,您需要确保 Microsoft.SharePoint
程序集已添加到项目的引用中。您可以在 Visual Studio.