0

動的ボタンをhtmlコントロールとして実装していますが、ボタンのクリックイベントが発生しません。

私のコードは

for (iDynamicPageCount = 0; iDynamicPageCount < GrdResult.PageCount - 1; iDynamicPageCount++)
{
    string sDynamicSybntext = 
        "<li><button type=\"submit\" runat=\"server\" onserverclick=\"btnNext1_Click\" id=" + strName + ">" + (iDynamicPageCount + 2).ToString() + "</button></li>";
    sbPaging.Append(sDynamicSybntext);
}

GrdResult.PageCount - 1ボタンの数が作成されます。

ついにリテラル制御に追加

p0.Text = sbPaging.ToString();

ボタンをクリックすると、btnNext1_Clickイベントが発生せず、ポストバックのみが発生します。

4

2 に答える 2

0

応答ストリームに文字列を追加しているだけなので、すべてのボタンはサーバー側ではありません。削除runatしてくださいonserverclick

のように(たとえば、追加したループを介してボタンを生成します)

<input type="submit" name="pageButton" value="value1" />
<input type="submit" name="pageButton" value="value2" />
<input type="submit" name="pageButton" value="value3" />
<input type="submit" name="pageButton" value="value4" />

リクエストオブジェクトからページロードイベントでクリックされたボタンの値を取得できます

 string ValueOfClickedButton = Request["pageButton"];
于 2012-06-30T16:08:28.097 に答える
0

type="submit" を使用しているという問題を確認できます

type="button" に変更してください。

type="submit" will submit the form by default
type="button" will not submit form and have no default behaviour.
于 2012-06-30T16:43:40.670 に答える