2014-09-26 39 views
5

Quando la vista viene caricata, devo controllare quale dominio l'utente sta visitando e, in base al risultato, fare riferimento a un diverso foglio di stile e origine dell'immagine per il logo che appare sulla pagina.errore CS0103: il nome "" non esiste nel contesto corrente

Questo è il mio codice:

@{ 
    string currentstore=HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; 

    if (currentstore == "www.mydomain.com") 
    { 
     <link href="/path/to/my/stylesheets/styles1-print.css" rel="stylesheet" type="text/css" /> 
     string imgsrc="/content/images/uploaded/store1_logo.jpg"; 
    } 
    else 
    { 
     <link href="/path/to/my/stylesheets/styles2-print.css" rel="stylesheet" type="text/css" /> 
     string imgsrc="/content/images/uploaded/store2_logo.gif"; 
    } 
} 

Poi, un po 'più in basso che io chiamo il imgsrc variabile in questo modo:

<a href="@Url.RouteUrl("HomePage")" class="logo"><img alt="" src="@imgsrc"></a> 

ottengo un errore che dice:

errore CS0103: il nome 'imgsrc' non esiste nel contesto corrente

Suppongo che ciò sia dovuto al fatto che la variabile "imgsrc" è definita in un blocco di codice che è ora chiuso ...?

Qual è il modo corretto per fare riferimento a questa variabile più in basso nella pagina?

risposta

6

Basta spostare la dichiarazione all'esterno del blocco if.

@{ 
string currentstore=HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; 
string imgsrc=""; 
if (currentstore == "www.mydomain.com") 
    { 
    <link href="/path/to/my/stylesheets/styles1-print.css" rel="stylesheet" type="text/css" /> 
    imgsrc="/content/images/uploaded/store1_logo.jpg"; 
    } 
else 
    { 
    <link href="/path/to/my/stylesheets/styles2-print.css" rel="stylesheet" type="text/css" /> 
    imgsrc="/content/images/uploaded/store2_logo.gif"; 
    } 
} 

<a href="@Url.RouteUrl("HomePage")" class="logo"><img alt="" src="@imgsrc"></a> 

Si potrebbe rendere un po 'più pulito.

@{ 
string currentstore=HttpContext.Current.Request.ServerVariables["HTTP_HOST"]; 
string imgsrc="/content/images/uploaded/store2_logo.gif"; 
if (currentstore == "www.mydomain.com") 
    { 
    <link href="/path/to/my/stylesheets/styles1-print.css" rel="stylesheet" type="text/css" /> 
    imgsrc="/content/images/uploaded/store1_logo.jpg"; 
    } 
else 
    { 
    <link href="/path/to/my/stylesheets/styles2-print.css" rel="stylesheet" type="text/css" /> 
    } 
} 
Problemi correlati