gpt4 book ai didi

c# - PartialView in View post并返回响应json

转载 作者:行者123 更新时间:2023-11-30 23:08:25 25 4
gpt4 key购买 nike

我的PartialView是在View中渲染的,那么这个PartialView需要post controller,然后catch response,然后show。怎么做到的?

查看

<div class="row">
<div id="partialViewContainer"></div>
</div>

局部 View

@model foo

@using (Html.BeginForm("UploadFile", "ManageFiles", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
//Some Html
<div id="ResponsePost">
</div>
}

Controller

[HttpPost]
public JsonResult UploadFile(UploadFileViewModel m)
{
if (!ModelState.IsValid)
{
var errorList = (from item in ModelState
where item.Value.Errors.Any()
select item.Value.Errors[0].ErrorMessage).ToList();

return Json(errorList);
}

//Some Logic
var foo = new { ... };
return Json(foo);
}

最佳答案

在我看来,最简单的方法是使用 Ajax.BeginForm 扩展而不是 Html.BeginForm。代码少,易读。

权衡是您需要将 jquery.unobtrusive-ajax.js 与 Jquery 一起包括在内。

@using (Ajax.BeginForm("UploadFile","ManageFiles" , new AjaxOptions() {  OnSuccess = "getResult" }))

此处,getResult 用于定义在 Ajax 请求成功后将触发的 JavaScript 函数。

然后你可以这样写:

function getResult(data){
$('#ResponsePost').append('<p>' + data.message + '</p>');
}

关于c# - PartialView in View post并返回响应json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46552417/

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