[英]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.