gpt4 book ai didi

asp.net - .NET MVC2 Master 上的多个部分 View ,也可以通过 AJAX 单独加载

转载 作者:行者123 更新时间:2023-12-04 06:32:57 27 4
gpt4 key购买 nike

我正在使用 MVC2 创建一个单页站点,因此在 HTML div 中可以看到一些不同的页面:

==========
|Section1|
| |
==========
==========
|Section2|
| |
==========
==========
|Section3|
| |
==========

让我们将此登录页面称为/Home/Index - 在 Home/Index View 中,只有几个 RenderAction 调用来渲染 Section1/Index、Section2/Index 和 Section3/Index - 每个部分都是一个 Controller 。

在不同的时候,Section1、Section2 或 Section3 的不同部分将通过向/Section1/Part1 或/Section2/Part3 等发出 Ajax 请求加载到各自的 div 中。

我已经知道第一次加载页面的最佳方法是为每个部分提供部分 View ,并将其放入。

但是假设我想在不使用 AJAX 请求的情况下转到/Section2/Part3,那么确保我在显示的页面上获得 Section1、Section2 和 Section3 的最佳方法是什么,但是,我们展示的不是 Section2 的默认部分 View 第 3 部分。

任何想法,将不胜感激 :)

我有一个是:以某种方式从 Section 操作返回/Home/Index View ,其中包含需要知道渲染指定部分的模型数据 - 但我不想重定向,因为 URL 需要保持不变。

希望这是有道理的。谢谢 :)

附言不使用 .NET Ajax。

最佳答案

我认为您的问题可以通过使用 Request.IsAjax 来解决在你的行动方法中。如果您有 AJAX 请求,请返回部分 View 。如果不是,则返回包含部分的常规 View 。

public ActionResult Part1() {
/* Other code here */

if(!Request.IsAjax)
return View("Part1Full");

return View();
}

在您的 Part1Full查看,只需调用 RenderPartial("Part1") .我假设如果您调用 RenderAction("Part1"),它也会起作用。但如果不查看 [ChildActionOnly]属性。您可以找到更多信息 here .

关于asp.net - .NET MVC2 Master 上的多个部分 View ,也可以通过 AJAX 单独加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5170285/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com