2014-04-25 15 views
5

Non riesco a capire l'ambito delle variabili nelle mie pagine .Master: qualcuno può fornire assistenza?ASP.NET MVC Pagina principale Ambito variabile

Nell'esempio sotto settings non può essere visto in entrambi utilizzo successivo alla istanziazione:

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

... 

Nell'esempio sotto settings può essere visto solo nel primo utilizzo, ma non la seconda:

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

Sarebbe la mente downvoter spiegando perché downvoted così posso aggiustare il mio errore? :) – Jimbo

risposta

0

Secondo me, quale variabile mai utilizzata nella pagina Master è accessibile al suo file XAML e al file cs.

È possibile accedere nelle sue pagine di contenuto simile a questo:

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

Non penso che questo risponda alla domanda. Ciò richiede che una proprietà sia definita nel code-behind, ma l'esempio non la usa mai (e non dovrebbe averne bisogno) –

Problemi correlati