首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Razor的Html.RenderPartial()语法

使用Razor的Html.RenderPartial()语法
EN

Stack Overflow用户
提问于 2011-08-08 18:29:54
回答 4查看 141.3K关注 0票数 95

这是可行的,因为它以字符串形式返回部分视图呈现的结果:

代码语言:javascript
复制
@Html.Partial("Path/to/my/partial/view")

但我更喜欢使用RenderPartial,似乎我需要写:

代码语言:javascript
复制
@{Html.RenderPartial("Path/to/my/partial/view");}

而不是:

代码语言:javascript
复制
@Html.RenderPartial("Path/to/my/partial/view");

才能让它正常工作。错误消息:

代码语言:javascript
复制
 Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

有没有更好的方法来代替只为一次方法调用打开代码块@{...}

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-08-08 18:44:42

  • RenderPartial()是一个写入响应流的空方法。{ }.
  • Partial()方法在C#中需要一个;,因此必须用MvcHtmlString括起来,该方法返回一个void。在Razor中,您可以调用属性或方法来返回仅带有@前缀的字符串,以将其与页面上的纯

区分开来。Razor

票数 142
EN

Stack Overflow用户

发布于 2011-08-08 19:13:17

Html.RenderPartial()是一个空方法-您可以通过将鼠标放在代码中对RenderPartial的调用上来检查某个方法是否为空方法,您将看到文本(扩展名) void HtmlHelper.RenderPartial...

Void方法需要在调用代码的末尾使用分号。

在Webforms视图引擎中,您应该将Html.RenderPartial()调用封装在蜂刺<% %>

就像这样

代码语言:javascript
复制
<% Html.RenderPartial("Path/to/my/partial/view"); %>

当您使用Razor视图引擎时,等效项为

代码语言:javascript
复制
@{Html.RenderPartial("Path/to/my/partial/view");}
票数 45
EN

Stack Overflow用户

发布于 2012-06-15 17:47:21

代码语言:javascript
复制
@Html.Partial("NameOfPartialView")
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6980823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档