繁体   English   中英

使用AJAX动态加载ASCX控件

[英]Load ASCX controls dynamically using AJAX

我正在开发ASP.NET应用程序,并且尝试执行以下操作:

我将只有一个ASPX页面分为两列。 左列将是TreeView,右列将是编辑treeview的节点。

当用户可以选择树视图的节点以在右列上进行编辑时。 取决于节点的深度,右侧列将有所不同。

我想知道如何使用ASCX控件并使用例如AJAX在右列上动态加载。 有更好的选择吗? 我可以这样做吗?

编辑:

当用户想要编辑树视图的节点时,我不想重新加载整个页面。 也许我会在右列上需要一个UpdatePanel,不是吗?

通常,是可以做到的,并且使用不同的.NET ajax框架很难完成。

很难提出“更好的选择”,因为这取决于您如何构建应用程序以及对它的不同要求。

将树形视图包装在UpdatePanel内,并在后面的代码中添加以下代码。 (假设您的右面板名为“ PanelOnTheRight”,并且您有一个用户控件“ MyEditControl”,其属性为“ IdToEdit”)。

void MyTreeView_SelectedNodeChanged(Object sender, EventArgs e)
{
    PanelOnTheRight.Controls.Clear();

    MyEditControl editControl = LoadControl("~/usercontrols/mycontrol.ascx");
    editControl.IdToEdit = ((TreeView)sender).SelectedNode.Value;

    PanelOnTheRight.Controls.Add(editControl);
}

您可以使用Page.LoadControl方法加载用户控件。 但我不确定它是否适用于Ajax

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM