我有一个简单的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