1

こんにちは、onclickボタンメソッドに値を渡したいです:

これは私の動的に作成されたボタンです:

string Code = //Some value
Button button = new Button();
button.ID = "Start";
button.Click +=new EventHandler(button_Click);
button.CommandArgument = Code;
Page.Controls.Add(button);

これは私のイベントメソッドです:

 void button_Click(object sender, EventArgs e)
 {
     string code = //Put the value in code 
 }

ありがとう。

4

2 に答える 2

5

広く使用されている方法の 1 つは、そのような値をサーバーからアクセス可能なコントロールまたは変数に保存することです。

具体的に言えば:

クライアント側から動的な値を渡したい場合は、ASP:HiddenField を使用し、JavaScript を使用してその値を設定し、サーバー コードでアクセスします。

<asp:HiddenField runat="server" id="hfMyArgument" value="" />

サーバー側で値を使用できます

void button_Click(object sender, EventArgs e)
{
     string code = hfMyArgument.value.trim();
}

ボタンの作成中にセッション変数を作成して使用する

Session["MyArgument"] = "argument value";
Session["MySecondArgument"] = 143523;

これらの値をサーバー側コード C# で使用するには

void button_Click(object sender, EventArgs e)
{
     string code = Convert.toString(Session["MyArgument"]).trim();
}
于 2013-09-30T10:46:06.517 に答える
1

ボタンのプロパティを使用しているため、このボタンのイベントでCommandArgumentこのプロパティにアクセスできます。OnCommand[ただし、OnClick ではありません]

したがって、イベントのイベント ハンドラーを次のように定義しますOnCommand

button.Command += new CommandEventHandler(button_Command); 

そして、イベント ハンドラーで次のようにアクセスしますCommandArgument

void button_Command(object sender, CommandEventArgs e)
 {
     string _code = e.CommandArgument.ToString();
 } 
于 2013-09-30T10:36:22.310 に答える