语法问题 - Razor MVC4

Mr *_*nes 6 syntax html-helper partial-views razor asp.net-mvc-4

我正在尝试使用自定义帮助器方法显示局部视图.唯一的问题是,我无法解决这个语法问题.这个cshtml文件的模型集是我定义为Operation的IEnumerable模型集合.我确信这是一个简单的解决方案.这是我所看到的一个例子:

我有这段代码:

    @using(Html.BeginForm()) {
       <div id="editor_rows">
          @foreach (var item in Model){
             Html.RenderPartial("OperationEditorRow", item);
          }
       </div>
    }
Run Code Online (Sandbox Code Playgroud)

这在运行时给出了以下错误:

    Unexpected "{" after "@" character. Once inside the body of a code block (@if {}, @{}, etc.) you do not need to use "@{" to switch to code.
Run Code Online (Sandbox Code Playgroud)

但是如果我删除foreach语句前面的@符号,则所有内容都被解释为纯文本.所以我尝试在Html前放置一个@,如下所示:

    @using(Html.BeginForm()) {
       <div id="editor_rows">
          @foreach (var item in Model){
             @Html.RenderPartial("OperationEditorRow", item);
          }
       </div>
    }
Run Code Online (Sandbox Code Playgroud)

返回时出现编译错误,指出:

    Cannot implicitly convert type void to object
Run Code Online (Sandbox Code Playgroud)

如果我从这里运行项目,我会收到一个运行时错误:

    The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
Run Code Online (Sandbox Code Playgroud)

我假设这与之前的错误有关.如果有人对我有任何建议,请帮忙.

Mr *_*nes 1

问题解决了。我和一位同事一起做了这件事。事实证明,涉及 write 方法的错误指出了我的部分视图中的问题。我在其中的一段代码周围使用了@{},这很可能也会引发其他语法错误。感谢您的回复。