c# - 如何使 View 完全或部分渲染?

标签 c# asp.net-mvc asp.net-mvc-3 razor browser-history

我有一个带有 About 操作的 HomeController。我想实现这种行为:

案例 #1 用户打开页面 /home/about 并且 View 完全呈现(return View();)

案例 #2 用户在主页上单击链接 about,我想使用 history.pushState 更改 url 并渲染它部分地(return PartialView();)

我怎样才能实现这种行为?

最佳答案

您可以使用Request.IsAjaxRequest 来检测 Controller 操作是否是使用Ajax 请求调用的。

作为替代方案,我建议将您的 View 分成更小的部分,以便您的 About.aspx View 使用部分 View ,例如通过执行 Html.RenderPartial("AboutBox")。这为您提供了重用的能力,而不必用 if 语句来扰乱您的操作。

关于c# - 如何使 View 完全或部分渲染?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5520586/

相关文章:

html - 从 MVC 中生成的 HTML 中删除多余的空格

asp.net-mvc - 通过 jQuery ajax 将自定义对象发布到 MVC3 操作方法

asp.net-mvc - 在 asp.net mvc 中验证用户是否已通过身份验证的最佳位置在哪里

jquery - 返回部分 View 的 Controller 操作会在授权失败时插入登录页面

c# - OWIN 安全 - 如何实现 OAuth2 刷新 token

c# - 如何创建算法或公式来获得组合?

c# - 在特定领域不同

c# - 如何在 C# MVC 中选择文件夹目标?

jquery - 如何使用 Telerik ComboBox 的选定值过滤 MVC Telerik Grid?

javascript - 将图像从网络摄像头上传到服务器