我想使用RadUpload控件,但是,在任何按鈕上單擊頁面回發。爲了解決這個問題,我嘗試使用updatePanel並將按鈕放在updatePanel中,以便只發生部分回發。原因是RadUpload Control在回發時丟失了它的值。我動態地創建所有的控件,併成爲asp.net和C#的初學者,這對我來說很棘手。使用更新面板,以防止回傳RadUpload控制
下面是代碼:
Button aButton = new Button();
aButton.ID = newControls[1].ID + "_Button";
aButton.Click += new EventHandler(aButton_Click);
aButton.UseSubmitBehavior = false;
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = aButton.ID;
trigger.EventName = "Click";
UpdatePanel container = new UpdatePanel();
container.ID = newControls[1].ID + "_Container";
container.ChildrenAsTriggers = true;
container.UpdateMode = UpdatePanelUpdateMode.Conditional;
container.Triggers.Add(trigger);
container.ContentTemplateContainer.Controls.Add(aButton);
tcControl.Controls.Add(container);
static void aButton_Click(object sender, EventArgs e)
{
// Do Something
}
我知道我可能做一些非常錯誤的哈哈,但任何意見將是巨大的。謝謝!
在什麼時候該代碼的運行?我猜想你的[ASP.NET頁面生命週期](http://msdn.microsoft.com/en-us/library/ms178472.aspx)有問題。具體而言,應該始終在「PreInit」事件期間添加動態生成的控件。 – jadarnel27
此代碼通過在Page_Load中調用的方法運行。應始終在PreInit中創建動態創建的控件? 我動態創建大量的控制。這部分代碼僅在創建radupload時發生。 – Eric
我試圖在PreInit中放置動態控件生成方法,並且它們不會顯示在頁面上。我使用唯一的ID創建它們並將它們放入HTMLTable中。該表包含1 ... n行的任何地方,每行有兩個單元格。第一個單元格包含一個動態創建的靜態標籤。第二個包含兩個控件,一個動態創建的幾乎任何類型的控件,以及一個包含第一個控件文本的標籤。控件的在所述第二小區備用的可視性,編輯模式之間(非標記物是可見的)和非編輯方式(標籤是可見的) – Eric