web-dev-qa-db-ja.com

ASP.netは、コンテンツページを介してマスターページ変数にアクセスします

私はマスターページを持っています:

<%@ Master Language="C#" AutoEventWireup="true" Codefile="AdminMaster.master.cs" Inherits="AlphaPackSite.MasterPages.AdminMaster" %>

次に、パブリック変数があります。

public partial class AdminMaster : System.Web.UI.MasterPage
{
    protected bool blnShowDialogue = false;

私のコンテンツページでこの変数を設定したいと思います:

blnShowDialogue = true;

そのため、マスターページに次のコードを含めることができます。

    $(function() {
    <%if(blnShowDialogue == true){%>
        $("#dialog").dialog();
    <% } %>
    }

これは意味がありますか? Master.blnShowDialogueやblnShowDialogue =などの組み合わせを試してみると、何も機能しないようです。

名前 'blnShowDialogue'は現在のコンテキストに存在しません

13
Tom Gullen

ここで説明するように、@ MasterTypeディレクティブを使用します。

http://msdn.Microsoft.com/en-us/library/c8y19k6h.aspx

14
mamoo

マスターページを実際のタイプにキャストする必要があります。

((AdminMaster)Master).blnShowDialogue = "Foo";

それ以外の場合Masterは単に基本クラスを参照しますMaster-派生する実際のクラスのプロパティにアクセスしようとしていますマスタークラスから。

発生しているエラーは、blnShowDialogueというプロパティがクラスに存在しないためですSystem.Web.UI.MasterPage-これは意味があります。参照しようとしている特定のMasterPageインスタンス。

お役に立てば幸いです。

6
RPM1984