0

送信ボタンがクリックされた後に LinkBut​​ton を追加し、正しくポストバックする方法はありますか。たとえば、このシナリオを考えてみましょう。

アップロード コントロールと送信ボタンを含むページが読み込まれます。選択が行われ、ユーザーが送信ボタンをクリックした後、ファイル名の横にオプションの削除ボタンを付けて、アップロードされたファイルを別の仕切りに表示したいと思います。問題は、ユーザーが送信ボタンをクリックすると、ファイルが要求される場所であるため、クリックハンドラーにコントロールを追加しようとすることですが、コントロール応答にリンクボタンを追加しようとすると、もちろんイベントがフックされません.

<form .....
<telerik:RadAsyncUpload ID="CtrlRadAsyncUpload" runat="server">
</telerik:RadAsyncUpload>
<asp:Button ID="CtrlSave" runat="server" Text="Submit Plans" />


protected override void OnInit(EventArgs e)
{
    base.OnInit(e);
    CtrlSave.Click += new EventHandler(CtrlSave_Click);
}

protected void Page_Load(object sender, EventArgs e)
{
 //the problem is here, the new files are not created until after telerik has processed it own button click. I could add the buttons here, but the files are not posted yet. So i try to add them in the button click event. see below.
}

void CtrlSave_Click(object sender, EventArgs e)
{
 any LinkButtons created and added to the controls collection are there, but they do not post back properly

 //get uploaded data
 LinkButton pDelete = new LinkButton();
            pDelete.Text = "Remove";
            pDelete.Command += new CommandEventHandler(pDelete_Command);
            pDelete.CommandArgument = pFile;
            pDelete.CommandName = "Delete";
            Controls.Add(pDelete);
}

これを解決するための良いアイデアはありますか?私は Web を隅々まで見てきましたが、ページのライフサイクルについてはかなり理解できていると思います。しかし、これは面倒です。私はこれらの問題に頻繁に行き詰っているようです。

4

1 に答える 1

0

最初に追加できますLinkButton pDeleteが、クリック時に Visible およびその他のプロパティを設定すると、常に存在し、問題はなくなります。

于 2012-11-29T09:44:48.270 に答える