У Razor view есть некоторые проблемы, что не так с этим foreach, называющим частичное - PullRequest
0 голосов
/ 09 октября 2011

Моя страница просмотра бритвы выглядит так:

 @foreach (var comment in Model.Comments)
 {
           @Html.RenderPartial("Comment", comment);

 }

И мое частичное представление находится в /Shared/Comment.cshtml

@model Comment

<div>
<span class="user">@Model.Name</span>
...

</p>

Я получаю эту ошибку:

Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

(it then highlights the call to @Html.RenderPartial("Comment", comment);

1 Ответ

2 голосов
/ 09 октября 2011

Вам не нужно ставить '@' перед Html, поскольку он указан перед любым html:

 @foreach (var comment in Model.Comments)
 {
    Html.RenderPartial("Comment", comment);    
 }

Кроме того, Html.RenderPartial ничего не возвращает.Таким образом, он должен быть выполнен в блоке кода (случай выше).

Синтаксис @ [some method] действителен только для методов, возвращающих то, что Razor может преобразовать в строку.

...