1

我有一个 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 
}

在 main page.aspx 我试过(没有成功)

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

0 回答 0