3

長年のリスナー、初めての発信者!

パネルのある ASXP ページがあります。マスター ASPX ページのボタンをクリックすると、カスタム ascx コントロールをパネルにロードするコードが実行されます。マスター ページが最初に読み込まれると、「ホーム」コントロールが読み込まれます。マスター ページのボタンをクリックすると、ホーム コントロールがクリアされ、別のコントロールが読み込まれます。問題は、カスタム コントロールのリンク ラベルをクリックすると、突然カスタム コントロールがアンロードされ、ホーム コントロールが再ロードされることです。

こんな感じです(読みづらくてすみません)。

マスター ページ - home.aspx - ASP

<html>
<body>
    <table>
        <tr>
            <td><asp:LinkButton ID=”link1” runat=”server” OnClick=”Load_Control2” /></td>
            <td><asp:Panel ID=”Panel1” runat=”server” /></td>
        </tr>
    </table>
</body>
</html>

マスター ページ - home.aspx – C#

protected void Page_Load(object sender, EventArgs e)
{
    UserControl control =(PageControls.Control1)LoadControl("PathtoControl");
    ApplicationDock.Controls.Add(control);    
}
protected void Load_Control2(object sender, EventArgs e)
{
    ApplicationDock.Controls.Clear();
    UserControl control =(PageControls.Control2)LoadControl("PathtoControl");
    ApplicationDock.Controls.Add(control);    
}

カスタム コントロール 1 – ASCX – ASP

<div>
<table>
    <tr>
        <td><h2> Welcome Home </h2></td>
    </tr>
</table>
</div>

カスタム コントロール 2 – ASCX – ASP

<div>
    <asp:LinkButton ID=”CustomLink1” runat=”Server” Onclick=”RunClodeBlock1” />
</div>

カスタム コントロール 2 – ASCX – C#

Protected void RunClodeBlock1 (object sender, EventArgs e)
{
    Response.redirect(“google.com”);
}
4

1 に答える 1

0

私はそれをすべて間違っていたことがわかりました。私は ascx コントロールを捨てて、追加の aspx コンテンツ ページを含むマスター ページを使用しています。

私のアプローチは、WPF での悪い習慣からの持ち越しにすぎません。

于 2013-04-26T16:17:26.853 に答える