ASP.NET MVC 母版页变量范围

标签 asp.net asp.net-mvc scope master-pages

我不明白我的 .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/

相关文章:

asp.net - 在什么情况下,您更喜欢 ASP.NET 网络表单而不是 MVC?

c# - 在 ASP.NET MVC 3 中添加你自己的 HtmlHelper

javascript - 具有客户端验证的自定义数据注释验证属性

coldfusion - 如何从 ColdFusion 9 中的单独应用程序访问一个应用程序范围?

c - 为什么在尝试使用指针将两个数字相加时出现段错误?

c# - asp.net gridview 不显示数据

c# - Web 服务错误 "The provided URI scheme ' http' 无效;预期为 'https' 。”

javascript - 使用 Javascript 进行 ASP.NET 复选框列表验证

lisp - 闭包和动态作用域?

asp.net - Firefox 坚持认为表格显示样式为 "block"而不是