2016-12-19 4 views
0

page_loadの変数にアクセスし、それをc#のddlApp_SelectedIndexChangedメソッドで使用するにはどうすればよいですか? は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

は、あなたのクラスのプライベート・グローバルのメンバーを使用することができます。この方法では、クラス内からしかアクセスできません。以下のコードを宣言し、それらの値は、Page_Loadメソッドで設定された後

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"; 
    .... 
} 

を使用する方法を正確にあなたを示し、彼らはあなたの他の方法に使用することができる2つの方法がでている場合

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

ありがとう、それは今動作します。 Gridviewイベントハンドラでは動作しないようです。私は変数を使用して、GridviewのComboBoxデータソースIDのデータソースを設定します。 – patrixx

+0

それはもう一つの質問です。その答えはここにあります:http://stackoverflow.com/q/5976511/6198927あなたの質問に回答したことを忘れないでください。 –

+0

ありがとうございます。質問に答えてマークする方法は?私はまだstackoverflowで新しい – patrixx

関連する問題