Tôi đang cố gắng hiển thị một phần xem bằng cách sử dụng một phương thức trợ giúp tùy chỉnh. Vấn đề duy nhất là, tôi không thể vượt qua vấn đề cú pháp này. Mẫu thiết lập cho tệp cshtml này là một tập hợp các mô hình IE mà tôi đã định nghĩa là Hoạt động. Tôi chắc chắn đây là một sửa chữa dễ dàng. Dưới đây là một ví dụ về những gì tôi đang nhìn thấy:Sự cố cú pháp- Dao cạo MVC4
Tôi có khối mã này:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
này mang lại cho tôi những lỗi sau khi chạy:
Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
Nhưng nếu tôi loại bỏ các @ đăng nhập trước tuyên bố foreach, mọi thứ được hiểu là văn bản thuần túy. Vì vậy, tôi cố gắng đặt một @ trước Html như sau:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
@Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
này trở lại với một lỗi biên dịch nói rằng:
Cannot implicitly convert type void to object
Nếu tôi chạy dự án từ đây, tôi nhận được một lỗi thời gian chạy nói rằng:
The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
Tôi cho rằng điều này liên quan đến lỗi trước đó. Nếu ai có gợi ý cho tôi, xin hãy giúp đỡ.
Cố gắng sử dụng 'Partial' thay vì' RenderPartial' – lucask
Mã của bạn có vẻ đúng. Hãy thử khởi động lại Visual Studio. Điều đó đã được biết để sửa một số dị thường như thế này. –
Cảm ơn cả hai đề xuất của bạn. Tôi đã thử chúng, nhưng tôi vẫn thấy những lỗi tương tự. Tôi nghĩ rằng trái tim của vấn đề nằm trong thông báo lỗi thứ hai: Không thể chuyển đổi loại void thành đối tượng –