在 Razor Pages 上不显眼的 ajax 帖子后更新部分视图

匿名的

我有一个父视图并在其中渲染了局部视图。我在局部视图中添加了 Form 标签。它转到控制器并返回数据,但部分视图内容不会更新。

<div class="row main-section-border">
        <div class="col-sm-12">

            @{
                await Html.RenderPartialAsync("_Partial", Model);
            }
        </div>
        </div>

局部视图

    @model RandomModel 
    <form asp-controller="Controller" asp-action="Save" method="POST" data-ajax="true" data-ajax-success="success" data-ajax-failure="failed" data-ajax-update="#spForm">

    <div class="row left-right-padding" id="spForm">
        <input type="text"  id="document" asp-for="Document">
</div>

后端:

  public IActionResult Save(Random Model model)
        
     {     model.Document= "Random"
            return PartialView("~/Views/RandomFolder/_Partial.cshtml", model);
      }
Yiyi You

return PartialView("~/Views/RandomFolder/_Partial.cshtml", 模型);

既然你使用了unobtrusive ajax,所以它会返回局部视图的html代码,但它不会刷新局部视图。如果你想刷新局部视图,你可以尝试用 替换html代码。这data-ajax-complete是一个工作演示:

div class="row main-section-border">
        <div id="div1" class="col-sm-12">

            @{
                await Html.RenderPartialAsync("_Partial", Model);
            }
        </div>
        </div>
@section scripts{
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-ajax-unobtrusive/3.2.6/jquery.unobtrusive-ajax.js"></script>
    <script>
        completed = function (xhr) {
            $("#div1").html(xhr.responseText);
        };
    </script>
}

部分观点:

@model RandomModel 
    <form asp-controller="Controller" asp-action="Save" method="POST" data-ajax="true" data-ajax-success="success" data-ajax-failure="failed" data-ajax-update="#spForm" data-ajax-complete="completed">

    <div class="row left-right-padding" id="spForm">
        <input type="text"  id="document" asp-for="Document">
</div>

后端(您需要使用ModelState.Clear();否则它会更喜欢使用 ModelState 中的模型值,而不是您传递给 Partial 视图的模型。):

public IActionResult Save(RandomModel model)

        {
            ModelState.Clear();
            model.Document = "Random";
            return PartialView("~/Views/B/_Partial.cshtml", model);
        }

结果: 在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Razor Pages 上不显眼的 ajax 帖子后更新页面的一部分

使用AJAX删除Razor Pages

Razor Pages AJAX网址ID参数

Razor 页面 - 在服务器上的 ajax 请求后访问 razor 视图绑定变量值

Razor Pages - 是否可以路由到视图组件以进行 AJAX 刷新

输入按钮上的Razor Pages操作

Razor Pages 中的重复 HTML 部分

Razor Pages Javascript Ajax 未将参数传递给 c#

.NET CORE Razor Pages对C#方法的Ajax调用

C#MVC 5 Razor:使用Ajax更新部分视图失败

Core 2 Razor 页面 - AJAX 和部分视图

Razor Pages:内部带有局部视图的页面。如何存储部分视图的数据?

MVC Razor视图中的AJAX调用

后处理程序上的部分页面模型未执行 ASP.NET Core Razor Pages 2.0

如何在 Razor Pages 中使用对象返回不同的视图?

如何为 Razor Pages (.NET Core) 绑定视图模型?

ASP net Core Razor Pages - EF 和视图的拆分模型

OnPost修改后的Razor Pages模型值差异

ASP razor pages 在生产部署后删除逗号 (,)

在ASP 3.1 RazorPages AJAX发布更新模型之后,Razor无法将值打印到屏幕上

在 .NET Core Razor Pages 中从 JQuery Ajax 调用 C# 方法

AJAX调用会在Razor Pages中重新加载我的整个页面吗?

Razor Pages ajax 发布错误“SyntaxError: Unexpected token < in JSON at position 0”

使用AJAX Get的.NET Core Razor Pages可以填充引导模态中的数据

使用 jquery ajax 不显眼地将 asp-route-data 传递给页面处理程序

Razor Pages Post 返回 400

在执行设置到文件夹的策略后,对于 PageModel 上具有 Authorize 属性的策略,Asp.Net Core Razor Pages 授权处理程序仍然运行

jQuery ajax从razor视图模型获取传递属性

如何在MVC Razor视图中进行AJAX调用?