视图无法解析操作

问题描述 投票:0回答:1
c# asp.net ajax razor razor-pages
1个回答
0
投票

我相信您的

AJAX
电话不完整。另外为什么是
Create
GET 方法
async
?您可以参考以下代码更改,希望能解决您的问题:

将您的

AJAX
通话更改为:

<script>
    function sendObjectType(objectType) {
        var param = { objectType: objectType};
        $.ajax({
            type: "POST",
            url: '@Url.Action("Create", "Encyclopedia")',
            data: { "json": JSON.stringify(param)},
            dataType: "html",
            success: function (partialView) {
                $("#partialContainer").html(partialView);
            },
            error: function (error) {
                console.error(error);
            }
        });
    }
</script>

你的

Controller
方法将如下所示:

[HttpGet]
public IActionResult Create()
{
    return View();
}


[HttpPost]
public IActionResult Create(string json)
{
    var jsondata = JsonConvert.DeserializeObject<dynamic>(json);
    string objectType = Convert.ToString(jsondata["objectType"]);
    switch (objectType)
    {
        case "Star":
            return PartialView("_CreateStarPartial");
        case "Planet":
            return PartialView("_CreatePlanetPartial");
        case "Moon":
            return PartialView("_CreateMoonPartial");
        default:
            return BadRequest();
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.