控制重用和UpdatePanel

时间:2008-10-23 18:00:05

标签: asp.net

我有一个非常基本的用户控件。它包含几个TextBox控件,一些DropDownList控件,一个保存Button和一个取消Button。我想在两种不同的模式下使用此控件。第一种模式处于正常回发模式,以执行保存和取消操作。第二种模式将使用AJAX来执行保存和取消操作。

是否可以将控件的内容包装在UpdatePanel中,然后能够打开/关闭UpdatePanel是否为控件事件执行AJAX或PostBack?或者通过创建两个新控件(1个使用UpdatePanel,1个没有)来容纳一个旧控件,我会更好地服务吗?

2 个答案:

答案 0 :(得分:1)

“关闭”UpdatePanel的最简单方法是在ScriptManager中将EnablePartialRendering设置为false。我不确定这是最好的解决方案。我建议您根据布尔标志将控件添加到代码隐藏的Page_Load事件处理程序中的更新面板。

void Page_Load() {
    if(IsAjaxy) {
     upAnUpdatePanel.Controls.Add(tbSomeTextBox);
    }
    else {
     this.Controls.Add(tbSomeTextBox);
    }

这些方面的东西应该可以正常工作。

答案 1 :(得分:1)

在此处查看刷新UpdatePanel内容部分:UpdatePanel Class

但我个人认为,只需在没有UpdatePanel的情况下创建UserControl,然后在需要时将其封装在一个。不那么容易混淆。