MVC3 中的 Html.Partial 或 Html.RenderPartial?

2024-01-21

即使看到以下解释后我也完全困惑。

<div>
  @Html.Partial("_FeaturedProduct")
</div>

部分视图可以在布局页面(或者如果使用 MVC 2/3 w/ASPX,母版页)以及常规视图内呈现。

在某些情况下,您可能希望退出并直接写入 HTTP 响应流,而不是让部分视图呈现结果(部分/视图使用 MvcHtmlString/StringWriter)。为此,请使用 Html.RenderPartial 帮助器。

<div>
  @Html.RenderPartial("_FeaturedProduct")
</div>

有人能告诉我这是什么意思吗?在什么情况下我可能想直接写入 HTTP 响应等。如果我的部分视图只包含这样一行怎么办:

<h1>Hello</h1>

我应该使用哪个,为什么?如果我使用另一个会发生什么?

以下内容让我更加困惑:“使用 Html.RenderPartial 来流式传输图像或其他以媒体为中心的元素或更快的下载时间非常重要的元素。”


请参阅下面的回复。

唯一的区别是 Partial 返回一个 MvcHtmlString,并且必须 在 内部调用,而 RenderPartial 返回 void 并渲染 直接到视图。

如果你查看源代码,你会发现它们都调用了 相同的内部方法,传递一个 StringWriter 供其渲染。

如果您想查看、保存或操作,您可以调用 Partial 生成 HTML,而不是将其写入页面。

MVC2 中 Html.Partial(view, model) 和 Html.RenderPartial(view,model) 之间有什么区别(如果有)? https://stackoverflow.com/questions/2729815/what-is-the-difference-if-any-between-html-partialview-model-and-html-render

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC3 中的 Html.Partial 或 Html.RenderPartial? 的相关文章

  • IIS 上的 ASP.NET MVC3 和 Windows Auth 不断重定向到 /Account/Login

    我正在运行 MVC3 和 Windows 身份验证 Web 应用程序 当我部署到 IIS6 时 它运行得很好 直到我遇到需要身份验证的页面 然后 当我在应用程序中没有任何痕迹并且我的 web config 配置为 Windows 身份验证时
  • 向表单提交添加附加参数

    我的 Razor 视图中有一个表单声明
  • 错误:确保控制器具有无参数公共构造函数 webapi

    我正在使用 webapi unity 和 mvc 我收到错误 确保控制器具有无参数公共构造函数 我已经看到类似问题的解决方案 但仍然无法使其工作 我已经安装了 unity webapi 并且似乎拥有所有必要的参考 Microsoft Pra
  • 全局访问 Ninject 内核

    这个问题与 Ninject 没有具体关系 这更多的是一个一般性的编码问题 但我将其发布在这里 以防在 Ninject 中可能有更好的方法来完全处理该问题 而不是我正在尝试做的事情 我想知道是否可以从 Global asax 中的实例全局访问
  • 返回 JSON 或部分 html 的 ASP.NET MVC 控制器操作

    我正在尝试创建控制器操作 该操作将根据参数返回 JSON 或部分 html 将结果异步返回到 MVC 页面的最佳方法是什么 在您的操作方法中 返回 Json object 以将 JSON 返回到您的页面 public ActionResul
  • UrlHelper扩展方法调用编码未执行

    我为 ASP NET MVC UrlHelper 创建了一个简单的扩展方法 它不接受任何参数 因为它的工作是从配置中查找样式表文件的名称并返回样式表的 url 扩展方法大致如下 public static string SiteStyles
  • ASP.NET MVC 3 中未经身份验证用户的缓存主页

    我的网站有一个主页 我想为匿名用户缓存该页面 并将其设置为经过身份验证的用户的 私有 以便他们将其保存在自己的计算机上 而不是其他地方 因此 如果用户是匿名的 我想将页面保存在服务器缓存中 并使用以下命令保存在浏览器缓存中Cache con
  • 使用 ASP.Net MVC 实现 .Net OpenId

    我下载的样本是从DotNetOpenId http code google com p dotnetopenid 与我创建新应用程序时获得的 MVC 1 0 应用程序有不同的文件 我对 MVC 和 openId 很陌生 我遇到的所有示例都非
  • 如何在控制器中模拟 Automapper (IMapper)

    我正在尝试为现有的 MVC Web 应用程序编写单元测试 我在自动映射器中面临一些问题 IMapper 每当使用地图函数时它都会返回null value 我的控制器代码 public class UserAdministrationCont
  • asp.net MVC - 如何通过不同的存储库类共享 SqlConnection 的同一实例

    我正在使用 MVC5 和普通 ADO NET 创建一个新项目 只是作为学习练习 我需要创建一个存储库 用于注册一个模型 其中包含几个也需要同时创建的相关对象以及这些对象反过来可能需要插入其他对象 我能想到的最简单的解决方案是拥有一个庞大的方
  • 在 SelectList 集合中设置所选项目

    我有一堂具有以下属性的课程 它构建了一个SelectList现有列表中的对象 然后设置所选项目 public SelectList ProviderTypeList get SelectList list new SelectList my
  • 使用 SignalR 检测“服务器离线”

    我们尝试在低带宽环境中使用 SignalR 在该环境中 与后端服务器的连接可以随机出现和消失 并且我们希望我们的 Web 应用程序能够做出适当的响应 看起来这个连接 API 在过去的一年里一直在变化 但根据最新的文档 我尝试连接 conne
  • 使用 MVC 5 RouteArea 属性时找不到默认区域视图

    我有一个包含多个区域的 MVC5 项目 我有一个默认区域 名为Default 并在其中有一个默认控制器 名为DefaultController 这可以通过站点路径访问 RouteArea public class DefaultContro
  • 无法将代码优先迁移应用到 mysql 数据库

    我正在使用 EF 代码优先模型开发 asp net mvc 我正在尝试首先使用 EF 代码将迁移应用到我的项目中 我正在使用 MySql 数据库 目前我使用的是 EF 4 3 1 版本和 6 6 4 0 版本的 mysql Connecto
  • ASP.NET MVC 4 FileResult - 错误

    我在控制器上有一个返回 PDF 的简单操作 工作正常 public FileResult GetReport string id byte fileBytes manager GetReport id string fileName id
  • IHttpModule 和控制台应用程序的流畅 NHibernate 模式

    我目前有一个在存储库模式中使用 Fluent NHibernate LINQ 的 C MVC 2 Web 应用程序 并使用 Ninject 来处理 MVC 控制器的构造函数要求 将其传递到存储库中 我的 Fluent NHibernate
  • 在实体框架中不使用 Dispose 或 using()

    我一路上正在编写一个网络应用程序并学习实体框架 如果我做错了什么 我很好奇 我在查询时没有使用过 dispose 或 using 语句 我的存储库示例 public User GetUserById int sessionId var us
  • 如何在mvc视图中的表中显示数据库数据

    在我的 MVC 应用程序中 我从数据库检索数据 我想在表格中显示退役数据 控制器代码 public ActionResult MyAccount var user User Identity Name string sThumbnails
  • 如何在 web.config 中设置默认的 text/html 内容类型?

    我想将 ASP NET MVC 应用程序中网页的默认内容类型设置为 text html 我知道这可以通过向我的所有 元素添加 ContentType text html 来完成 但我更喜欢使用 web config 我怎样才能做到这一点 T
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi

随机推荐