在我的 c# 代码中,我添加了响应命令来显示属性:
var c = "some text";
Response.Write(string.Format("{0}", c));
Response.End();
这是方法:
public Dictionary<string, string> GetMarkupFeatures()
{
//Hashtable features = new Hashtable();
Dictionary<string, string> features = new Dictionary<string, string>();
MgResourceIdentifier featureSourceId = new MgResourceIdentifier(libraryPath + this.GetMarkupName() + ".FeatureSource");
var opt = new MgFeatureQueryOptions();
var filter = GetParameter(args, "WHERE");
if(!string.IsNullOrEmpty(filter))
{
opt.SetFilter(filter);
}
var ftr = features.OrderBy(x=>x.Value).ToDictionary(x=>x.Key, x=>x.Value);
var c = "some text";
Response.Write(string.Format("{0}", c));
Response.End();
return ftr;
}
当我运行代码时,出现此错误:
说明:编译处理此请求所需的资源时出错。请查看以下特定错误详细信息并相应地修改源代码。
编译器错误消息:CS0038:无法通过嵌套类型"ASP.data_editdata_aspx"访问外部类型"System.Web.UI.Page"的非静态成员。数据编辑器'
在此行上:
Response.Write(string.Format("{0}", c));
知道为什么我在添加响应命令时会出现上述错误吗?
您收到该错误是因为您正在尝试从嵌套类访问类的字段。如本文档所述:
类中的字段不会自动对嵌套类可用。 若要对嵌套类可用,该字段必须是静态的。 否则,必须创建外部类的实例。
要解决此问题,您有 3 个选项:
- 将要访问的方法/字段设置为静态。
- 使用继承而不是嵌套类。
- 创建外部类的实例。
查看此帖子以获取更多信息。