2014-09-26 17 views
5

Po załadowaniu mojego widoku, muszę sprawdzić domenę, którą odwiedza użytkownik, i na podstawie wyniku odwołać się do innego arkusza stylów i źródła obrazu dla logo, które pojawia się na stronie.error CS0103: Nazwa "nie istnieje w bieżącym kontekście"

To jest mój kod:

@{ 
    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"; 
    } 
} 

Potem trochę dalej nazywam imgsrc zmiennej takiego:

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

pojawia się błąd mówiąc:

error CS0103: Nazwa "imgsrc" nie istnieje w bieżącym kontekście

Przypuszczam, że dzieje się tak dlatego, że zmienna "imgsrc" jest zdefiniowana w bloku kodu, który jest teraz zamknięty ...?

Jaki jest właściwy sposób odniesienia tej zmiennej w dalszej części strony?

Odpowiedz

6

Po prostu przenieś deklarację poza blok 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> 

Możesz zrobić to nieco czystsze.

@{ 
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" /> 
    } 
} 
Powiązane problemy