我正在尝试使用自定义帮助器方法显示部分 View 。唯一的问题是,我无法解决这个语法问题。此 cshtml 文件的模型集是我定义为操作的模型的 IEnumerable 集合。我确信这是一个简单的解决方法。这是我所看到的示例:
我有这段代码:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
这在运行时给我带来了以下错误:
Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
但是如果我删除 foreach 语句前面的 @ 符号,所有内容都会被解释为纯文本。所以我尝试在 Html 前面放置一个 @,如下所示:
@using(Html.BeginForm()) {
<div id="editor_rows">
@foreach (var item in Model){
@Html.RenderPartial("OperationEditorRow", item);
}
</div>
}
这会返回一个编译错误,内容如下:
Cannot implicitly convert type void to object
如果我从这里运行该项目,我会收到一个运行时错误:
The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
我假设这与之前的错误有关。如果有人对我有建议,请帮忙。
最佳答案
问题已解决。我和一位同事一起做了这件事。事实证明,涉及 write 方法的错误指出了我的部分 View 中的问题。我在其中的一段代码周围使用了@{},这很可能也会引发其他语法错误。感谢您的回复。
关于语法问题 - Razor MVC4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11196768/