[英]How to send parameter to a function in Master.cs from a content page
在Master.cs
:
public string sortOrder
{
get
{
if (ViewState["sortOrder"].ToString() == "Desc")
{
ViewState["sortOrder"] = "Asc";
}
else
{
ViewState["sortOrder"] = "Desc";
}
return ViewState["sortOrder"].ToString();
}
set
{
ViewState["sortOrder"] = value;
}
}
我从内容页面调用它:
ViewState["sortOrder"] = "Asc";
PD (e.SortExpression, Master.sortOrder, false);
执行函数时,此行出现以下错误
if(ViewState [“ sortOrder”]。ToString()==“ Desc”):对象引用未设置为对象的实例。
当在内容页面中时, sortOrder
函数也可以正常工作。 我正在尝试将所有可重复使用的代码移至Master.cs
文件。
如何修改该功能,使其像在内容页面中一样工作。
母版页和内容页的ViewState不相同。 在内容页面上,您仅在修改内容页面的ViewState,因此您的母版页将获得空引用。
要在母版页和内容页之间保留数据,您可以选择以下几种方法:
((MasterType)Page.Master).sortOrder
在内容代码后面引用母版的ViewState Context.Items
对象。 尝试使用这个。
public string sortOrder
{
get
{
if (!string.IsNullOrEmpty(Convert.ToString(ViewState["sortOrder"])) && Convert.ToString(ViewState["sortOrder"]) == "Desc")
{
ViewState["sortOrder"] = "Asc";
}
else
{
ViewState["sortOrder"] = "Desc";
}
return Convert.ToString(ViewState["sortOrder"]);
}
set
{
ViewState["sortOrder"] = value;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.