我有一个母版页:
<%@ 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'没有 存在于当前背景中
答案 0 :(得分:14)
使用@MasterType指令,如下所述:
答案 1 :(得分:6)
您需要将Master页面转换为实际类型。
((AdminMaster)Master).blnShowDialogue = "Foo";
否则 Master 只会引用基类 Master - 您正在尝试访问实际类中派生的属性来自 Master 类。
你得到的错误是因为类 System.Web.UI.MasterPage 中不存在名为 blnShowDialogue 的属性 - 这是有道理的,因为你是不告诉它你试图引用哪个特定的MasterPage实例。
希望有所帮助。