使用Razor的Html.RenderPartial()语法
使用Razor的Html.RenderPartial()语法
这是有效的,因为它返回字符串的部分视图渲染结果:
@Html.Partial("Path/to/my/partial/view")
但我更喜欢使用RenderPartial
,似乎我需要写:
@{Html.RenderPartial("Path/to/my/partial/view");}
而不是:
@Html.RenderPartial("Path/to/my/partial/view");
才能让它正常工作。错误信息:
Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
是否有更好的方法,而不是为了一个方法调用而打开代码块@{...}
?
admin 更改状态以发布 2023年5月21日
Html.RenderPartial()是一个void方法 - 你可以通过把鼠标放在你代码中对RenderPartial调用字符上来检查一个方法是否是void方法,你会看到文本(扩展)void HtmlHelper.RenderPartial...
Void方法需要在调用代码的末尾加上一个分号。
在Webforms视图引擎中,你会在蜜蜂刺 <% %> 中包围你的Html.RenderPartial()调用。
像这样
<% Html.RenderPartial("Path/to/my/partial/view"); %>
当你使用Razor视图引擎时,等效的方法是
@{Html.RenderPartial("Path/to/my/partial/view");}
-
RenderPartial()
是一个写入响应流的void方法。在C#中,void方法需要一个;
,因此必须用{ }
括起来。 -
Partial()
是一个返回MvcHtmlString的方法。在Razor中,您只需要用@
前缀调用返回此类字符串的属性或方法,以区分它与页面上的纯HTML。