2014-09-26 42 views
5

Khi lượt xem của tôi tải, tôi cần kiểm tra miền nào người dùng đang truy cập và dựa trên kết quả, tham chiếu biểu định kiểu và nguồn hình ảnh khác nhau cho biểu tượng xuất hiện trên trang.lỗi CS0103: Tên '' không tồn tại trong ngữ cảnh hiện tại

Đây là mã của tôi:

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

Sau đó, thêm một chút xuống tôi gọi là imgsrc biến như thế này:

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

tôi nhận được một lỗi nói:

lỗi CS0103: Tên 'imgsrc' không tồn tại trong ngữ cảnh hiện tại

Tôi cho rằng điều này là do biến "imgsrc" được xác định trong khối mã hiện đã đóng ...?

Cách thích hợp để tham chiếu biến này sâu hơn nữa trên trang là gì?

Trả lời

6

Chỉ cần di chuyển khai báo bên ngoài khối nếu.

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

Bạn có thể làm cho nó sạch hơn một chút.

@{ 
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" /> 
    } 
} 
Các vấn đề liên quan