Ответ 1
Используйте директиву @MasterType, как описано здесь:
У меня есть главная страница:
<%@ 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" не существуют в текущем контексте
Используйте директиву @MasterType, как описано здесь:
Вам нужно отдать основную страницу фактическому типу.
((AdminMaster)Master).blnShowDialogue = "Foo";
В противном случае Мастер будет просто ссылаться на базовый класс Мастер - вы пытаетесь получить доступ к свойству в своем фактическом классе, который происходит из Мастер.
Ошибка, которую вы получаете, состоит в том, что свойство blnShowDialogue не существует в классе System.Web.UI.MasterPage - это имеет смысл, так как вы не сообщая, какой конкретный экземпляр MasterPage вы пытаетесь сослаться.
Надеюсь, что это поможет.