У меня есть простая страница веб-формы asp.net, которую я использую для отображения связанных с страницей данных на основе 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
Каков наилучший способ определить страницы переменного уровня, которые определяются один раз и доступ в другой функции
Update: Helper.GetAppSetting("LangID_En")
и Helper.GetPageID(_LangID, "Home.aspx")
функции определены в отдельном файле класса под держать под App_Code/Helper/Helper.cs
Обновление 2: Рабочий код на основе 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'? Потому что это не на данный момент ... –
@JonSkeet, только что обновил мой код, поскольку у меня был закрытый класс после определения varibale по ошибке в этом примере. – Learning