Mou*_*ark 22 asp.net-mvc razor asp.net-mvc-5
我试图在MVC5中使用Razor进行局部视图渲染.我用的时候
@{ Html.RenderPartial("ViewName", model); }
Run Code Online (Sandbox Code Playgroud)
我得到解析器错误:
"@"字符后出现意外的"{".一旦进入代码块的主体(@if {},@ {}等),您就不需要使用"@ {"来切换到代码.
当我删除{}
,即:
@Html.RenderPartial("ViewName", model);
Run Code Online (Sandbox Code Playgroud)
我收到编译错误
无法将类型'void'隐式转换为'object'.
我究竟做错了什么?
Chr*_*att 29
您尚未发布该代码的上下文,但只有当您在@
代码块中直接使用而没有任何HTML包装时才会发生该错误.例如:
@if (true) {
@{ Html.RenderPartial(...); }
}
Run Code Online (Sandbox Code Playgroud)
会给你错误,而:
@if (true) {
<div>
@{ Html.RenderPartial(...); }
</div>
}
Run Code Online (Sandbox Code Playgroud)
没关系.您也可以通过完全删除代码块来解决它Html.RenderPartial
,包括@
:
@if (true) {
Html.RenderPartial(...);
}
Run Code Online (Sandbox Code Playgroud)
Dev*_*per 23
你也可以使用 @Html.Partial("~/View/Home/myview.cshtml")
它在Html.RenderPartial
内部调用Write时返回字符串,并返回void.
这是错的:
@Html.RenderPartial("ViewName", model);
Run Code Online (Sandbox Code Playgroud)
这是对的:
@{ Html.RenderPartial("ViewName", model); }
Run Code Online (Sandbox Code Playgroud)
解析错误可能是由部分视图的内容引起的.例如,如果您有电子邮件地址,请确保使用@@正确转义@符号.
"@"字符后出现意外的"{".一旦进入代码块的主体(@if {},@ {}等),您就不需要使用"@ {"来切换到代码.
归档时间: |
|
查看次数: |
61952 次 |
最近记录: |