2

我正在尝试使用 RadUpload 控件,但是,在任何按钮上单击页面回发。为了解决这个问题,我尝试使用 updatePanel 并将按钮放在 updatePanel 中,以便只发生部分回发。原因是 RadUpload 控件在回发时失去了它的价值。我正在动态创建所有控件,作为 asp.net 和 C# 的初学者,这对我来说很棘手。

这是代码:

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
}

我知道我可能做错了什么哈哈,但任何建议都会很棒。谢谢!

4

2 回答 2

0

您是否在回发时再次创建控件?如果我没记错的话,应该在 init 或 preinit 上再次创建控件,以便将视图状态加载到其中。

这个视频http://www.asp.net/web-forms/videos/aspnet-ajax/how-to-dynamically-add-controls-to-a-web-page显示类似的东西,我猜,否则星期一我可以在工作时在我的电脑上查找我自己的代码。

希望能帮助到你!

于 2012-06-09T17:19:19.647 回答
0

我已经通过从页面中完全删除此上传控件并用加载外部上传页面(只是一个弹出窗口)的按钮替换它来解决这个问题。我无法找到我最初想要的解决方案,但我目前的解决方案就是我现在所拥有的。

于 2012-06-18T13:10:10.623 回答