2014-04-25 26 views
5

.Master sayfalarındaki değişkenlerin kapsamını anlamıyorum - herhangi biri yardımcı olabilir mi? settings Aşağıdaki örnekte ASP.NET MVC Ana Sayfa Değişken Kapsam

onun örnekleme, takibeden kullanımında görülemez: settings Aşağıdaki örnekte
<%@ 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> 

... 

sadece ilk kullanım görülebilir, ancak ikinci değildir:

<%@ 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

misiniz o yüzden can downvoted nedenini açıklayan downvoter zihni yanlışlarımı düzeltmek mi? :) – Jimbo

cevap

0

Bana göre Master sayfasında kullandığınız her hangi bir değişkenin XAML dosyasına ve cs dosyasına erişilebilir.

Böyle içeriği sayfalarında erişebilirsiniz:

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

Bu sorunun cevabını sanmıyorum. Bu, bir özelliğin kod arkasında tanımlanmasını gerektirir, ancak örnek bunu asla kullanmaz (ve buna gerek kalmaz) –