2014-04-25 60 views
5

我不明白我的.Master頁面中變量的範圍 - 任何人都可以協助嗎?ASP.NET MVC主頁面變量範圍

在下面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> 

... 
+3

將在downvoter心靈解釋他爲什麼downvoted這樣我就可以修理我的錯誤行爲? :) – Jimbo

回答

0

根據我在母版頁中使用的變量,它可以通過它的XAML文件和cs文件訪問。

您可以訪問位於其內容的網頁是這樣的:

String variable=((MasterPageName).this.Master).variable; 
+0

我不認爲這回答了這個問題。這要求在代碼隱藏中定義一個屬性,但該示例從不使用它(並且不應該需要) –