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 
}

メインpage.aspxで試しました(成功せずに)

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

0 に答える 0