我不明白我的 .Master 页面中变量的范围 - 任何人都可以提供帮助吗?
在下面的例子中 settings
在实例化后的任何一种用法中都看不到:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<% var settings = new SettingRepository(); %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta name="description" content="<%: settings.metaDescription %>"/>
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" /> - <%: settings.pageTitle %>
</title>
...
在下面的例子中
settings
只能在第一个用法中看到,但在第二个中看不到:<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<% var settings = new SettingRepository(); %>
<meta name="description" content="<%: settings.metaDescription %>"/>
<title>
<asp:ContentPlaceHolder ID="TitleContent" runat="server" /> - <%: settings.pageTitle %>
</title>
...
最佳答案
根据我的说法,您在母版页中使用的任何变量都可以访问其 XAML 文件和 cs 文件。
您可以在其内容页面中访问它,如下所示:
String variable=((MasterPageName).this.Master).variable;
关于ASP.NET MVC 母版页变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23287704/