2013-08-05 74 views
9

Trong mã sau,Sử dụng câu lệnh If in a MVC Razor View

Nếu tôi sử dụng câu lệnh "@If", tôi nhận được lỗi mã biên dịch sau là "Lưới tên" không tồn tại trong ngữ cảnh hiện tại .

@if (Model.SModel != null) 

{ 

@{ 
    WebGrid grid = new WebGrid(Model.SModel); 

} 

} 

else 
{ 
} 

@grid.GetHtml() 

,

Nhưng mã biên dịch mà không có "Nếu" dụ statement.For

@{ 
    WebGrid grid = new WebGrid(Model.SModel); 

} 
@grid.GetHtml(). 

Lỗi cú pháp là gì khi sử dụng Nếu tuyên bố khác

Trả lời

13

grid không được khai báo bên ngoài phạm vi của if Statment của bạn.

Hãy thử điều này thay vì:

@if (Model.SModel != null) { 
    WebGrid(Model.SModel).GetHtml() 
} 
0

Bạn không cần sử dụng @ {} bên trong @if. Viết như thế này:

@if (Model.SModel != null) 
{ 
WebGrid grid = new WebGrid(Model.SModel) 
} 
+0

'grid' sẽ không tồn tại bên ngoài của 'tuyên bố if' – hunter

2

tôi sẽ cố gắng này:

@if (Model.SModel != null) 
{ 
    WebGrid grid = new WebGrid(Model.SModel); 
    grid.GetHtml() 
} 
else 
{ 
} 
+0

' grid' không tồn tại bên ngoài câu lệnh 'if' – hunter

+1

@hunter. Đã chỉnh sửa câu trả lời của tôi và bình chọn của bạn lên :) –

Các vấn đề liên quan