ASP.net доступ к переменной главной страницы через страницу содержимого - PullRequest
13 голосов
/ 06 сентября 2010

У меня есть главная страница:

<%@ 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 не существовать в текущем контексте

Ответы [ 2 ]

14 голосов
/ 06 сентября 2010

Используйте директиву @MasterType, как описано здесь:

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

6 голосов
/ 06 сентября 2010

Вам необходимо привести мастер-страницу к фактическому типу.

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

В противном случае Мастер будет просто ссылаться на базовый класс Мастер - вы 'вы пытаетесь получить доступ к свойству вашего фактического класса, которое получает из Master класса.

Ошибка, которую вы получаете, заключается в том, что свойство с именем blnShowDialogue не существует в классе System.Web.UI.MasterPage - что имеет смысл, поскольку вы не указываете, к какому конкретному экземпляру MasterPage вы пытаетесь обратиться.

Надеюсь, это поможет.

...