我有一個簡單的asp.net webform頁面,我用它來顯示基於pageID的頁面相關數據。在asp.net頁面上編譯錯誤
我想定義頁面級別的變量,以便我可以訪問該頁面中使用的不同功能的變量。但我越來越少的錯誤。例如,如果我的代碼是這樣
public partial class PageHome : System.Web.UI.Page
{
int _LangID = 1;
_LangID = int.Parse(Helper.GetAppSetting("LangID_En"));
int _PageID = 0;
int _PID = Helper.GetPageID(_LangID, "Home.aspx");
protected void Page_Load(object sender, EventArgs e)
{
int _LanguageID = _LangID;
GetPageDetails(_PageID);
}
}
然後我得到
Error message:
Invalid token '=' in class, struct, or interface member declaration (_LangID = int.Parse(Helper.GetAppSetting("LangID_En"));)
Invalid token '.' in class, struct, or interface member declaration (_LangID = int.Parse(Helper.GetAppSetting("LangID_En"));)
Method must have a return type
Identifier expected
,如果我嘗試使用定義這些變量中構造
//public PageHome()
//{
//int _LangID = 1;
//_LangID = int.Parse(Helper.GetAppSetting("LangID_En"));
//int _PageID = 0;
//int _PID = Helper.GetPageID(_LangID, "Home.aspx");
//}
然後我得到不同的錯誤,如
The name '_LangID' does not exist in the current context
The name '_PageID ' does not exist in the current context
什麼是定義在不同的功能定義一次,訪問頁面級變量的最佳方式
更新: Helper.GetAppSetting("LangID_En")
和Helper.GetPageID(_LangID, "Home.aspx")
功能都在一個單獨的類文件中定義下保持App_Code/Helper/Helper.cs
更新二:根據JonSKeet
回答的工作代碼。
public partial class PageHome : System.Web.UI.Page
{
int _LangID = 1;
_LangID = int.Parse(Helper.GetAppSetting("LangID_En"));
int _PageID = 0;
public PageHome()
{
int _PID = Helper.GetPageID(_LangID, "Home.aspx");
}
protected void Page_Load(object sender, EventArgs e)
{
int _LanguageID = _LangID;
GetPageDetails(_PageID);
}
}
我不清楚 - 你是否期望你的'Page_Load'方法成爲你的'PageHome'類的一部分?因爲目前還沒有... – 2015-02-11 08:17:11
@JonSkeet,剛剛更新了我的代碼,因爲在本例中錯誤地定義了varibale之後關閉了類。 – Learning 2015-02-11 08:18:19