2016-12-19 4 views
0

Как я могу получить доступ к переменным на page_load и использовать их в методе ddlApp_SelectedIndexChanged в C#? спасибоКак получить доступ к переменной из разных методов в C#?

private void Page_Load(object sender, EventArgs e) 
{ 
    if (!IsPostBack) 
    { 
     ddlRole.SelectedIndex = 0; 
    } 

    string ddl = ddlApp.Value.ToString(); 
    string ddlRoleDs; 
    string ddlMenuDs; 
    string GvDs; 

    if (ddl == "ATTD") 
    { 
     ddlRoleDs = "ddlAttdDs"; 
     ddlMenuDs = "ddlMenuAttdDs"; 
     GvDs = "AttdMenuAssignmentDs";     
    } 
    else if (ddl == "TRVL") 
    { 
     ddlRoleDs = "ddlTrvldDs"; 
     ddlMenuDs = "ddlMenuTrvlDs"; 
     GvDs = "TrvlMenuAssignmentDs";     
    } 

} 

переменную: ddlRoleDs, GvDs и ddMenuDs

protected void ddlApp_SelectedIndexChanged(object sender, EventArgs e) 
{   
    ddlRole.DataSourceID = ddlRoleDs; 
    MenuAssignmentGv.DataSourceID = GvDs; 
    ddlMenu.DataSourceID = ddlMenuDs; 
} 
+1

Если эти два метода в тот же класс вы можете использовать глобальные переменные –

ответ

0

Вы можете использовать частные глобальные члены в своем классе. Таким образом, они могут быть доступны только из класса. Приведенный ниже код показывает, как именно объявлять и использовать их

private string ddlRoleDs; 
private string GvDs; 
private string ddMenuDs; 

private void Page_Load(object sender, EventArgs e) 
{ 
    // don't declare them here, but you can use them here 
    ddlRoleDs = "test value"; 
    .... 
} 

После значения были установлены в методе Page_Load, они могут быть использованы в другом методе

protected void ddlApp_SelectedIndexChanged(object sender, EventArgs e) 
{   
    ddlRole.DataSourceID = ddlRoleDs; 
    MenuAssignmentGv.DataSourceID = GvDs; 
    ddlMenu.DataSourceID = ddlMenuDs; 
} 
+0

спасибо, он работает сейчас. но похоже, что это не работает в обработчике событий Gridview. Я использую переменную для установки источника данных ComboBox datasourceID в gridview. – patrixx

+0

это еще один вопрос, вы можете найти ответ на этот вопрос: http://stackoverflow.com/q/5976511/6198927. Не забудьте отметить свой вопрос, как ответ –

+0

спасибо. как поставить вопрос как ответ? извините, я все еще новичок в stackoverflow – patrixx

Смежные вопросы