繁体   English   中英

如何使用 ASP.NET Core 3 中的 Ajax 函数将 PartialView 插入到普通视图中?

[英]How do I insert a PartialView into a normal View using an Ajax-Function in ASP.NET Core 3?

这是我用来将 PartialView 插入主视图的 site.js 代码。

$("#btn2").click(function () {
    $.ajax({
        url: "/Home/RefreshDoors",
        datatype: "text",
        type: "POST",
        success: function (data) {
            $('#DoorBox').html(data);
        },
        error: function () {
            $("#DoorBox").html("ERROR");
        }
    });
});

我想将结果表放在一个框内(带有 id="DoorBox" 的 div),但是结果我得到了返回的 Door-Json-Objects 的原始视图:( imgur-link to screenshot

这是视图中的 div 代码:

<div id="DoorBox">

</div>

这是我用来渲染 PartialView 的 HomeController 的代码:

[HttpPost]
        public PartialViewResult RefreshDoors()
        {
            return PartialView("_Doors", RefreshDoorsFunction().Result);
        }

如何获取插入 PartialView 的代码(只是一个带有显示门的门模型属性的表))在 div-box 中呈现(不刷新页面)?

编辑:这是 RefreshDoorsFunction() 中的代码:

public async Task<List<NewDoor>> RefreshDoorsFunction()
        {
            string token = await _auth.GetTokenAsync();
            _doorList = SecureRestCall.GetDoorListAsync("https://exampleapi.azurewebsites.net", token);
            return _doorList.Result;
        }

我得到了答案。 原来我只是愚蠢:我使用了错误的按钮来测试 ajax 功能(分配给按钮的 ID 错误)。 它现在有效。 抱歉浪费了一些人的时间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM