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