显示asp:面板存储在不同的文件中

时间:2016-07-04 17:07:52

标签: c# asp.net telerik system.web.ui.webcontrols

我有一个asp页面(.aspx)页面,还有一个asp:Panel。我使用Telerik库,但我认为这是无关紧要的。

由于文件大小和工作组织的原因,我现在需要将asp:Panel标签移动到主文件之外,转移到另一个独立的.aspx中。

我将aspx内容移动到一个新文件,以及.cs文件中的相关代码,与主要文件分开。

在主要的load_page上,通过构造函数实例化单独的面板 - 构造函数实例化面板中的每个控件,尤其是具有.Show()方法的控件。

每个成员都在新类中工作,但由于我是ASP的新手,我不知道如何将单独的aspx代码放在前一个文件中,因为当我调用myModalPopup.Show()时,我有唯一的影响页面重新加载

单独文件中的面板摘录:

<asp:Panel ID="panelId" runat="server">
    <asp:HiddenField ID="control1" runat="server" />
    <ajax:ModalPopupExtender ID="extId" runat="server" TargetControlID="control1">
    </ajax:ModalPopupExtender>
    //Html/Controls stuff
</asp:Panel>

myPanel.cs

protected EditPanel myPanel = new EditPanel();
public class EditPanel: System.Web.UI.Page
{
    protected Panel myPanel;
    protected HiddenField control1;
    public AjaxControlToolkit.ModalPopupExtender extender;
    //Other controls

    public EditPanel()
    {
        extender = new AjaxControlToolkit.ModalPopupExtender();
        control1 = new HiddenField();
        //Other inits
    }
}

在主页.cs:

protected void Page_Load(object sender, EventArgs e)
{
    protected EditPanel editor = new EditPanel();
    //... so on 
}

在主要的page.aspx中,我尝试过(没有成功)

<asp:Panel ID="panelId" runat="server">
<!-- #Include virtual="~/path/EditPanel.aspx" -->
</asp:Panel> 

0 个答案:

没有答案