如何在运行时将.net元素从页面或文件注入到另一个元素

时间:2015-04-02 07:20:23

标签: c# html asp.net dynamic

例如我在ex1.aspx中有这个代码:

<form id="form1" runat="server">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <!-- CODE1: some gridview or other asp elements here -->
        </ContentTemplate>
    </asp:updatepanel>
</form>

我将此代码放在其他页面ex2.aspx

<form id="form1" runat="server">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <!-- injection CODE1 to here in run time -->
        </ContentTemplate>
    </asp:updatepanel>
</form>

如何在运行时在ex2.aspx updatepanel中获取CODE1? 例如,当我点击一些asp:按钮“clickToLoadGridView”

修改 我试过了: - 用户控制ascx - 但问题是与表单runat服务器存在冲突。例如,如果我加载与数据库连接的gridview它将无法正常工作。我猜他从服务器返回时失去了连接。

我尝试加载gridview ascx的代码是:

    using (Page objPage = new Page())
    {
        UserControl uControl = (UserControl)objPage.LoadControl("GridView.ascx");
        objPage.Controls.Add(uControl);
        using (StringWriter sWriter = new StringWriter())
        {
            HttpContext.Current.Server.Execute(objPage, sWriter, false);
            return sWriter.ToString();
        }
    }

返回后,我将jquery附加到html的代码中。 然后我只能看到gridview的第一页。但是当网格视图是分页时,我点击第二个按钮页面,我得到页面“这个网页不可用”。

0 个答案:

没有答案