gpt4 book ai didi

json - 在MVC 3项目中显示JsonResult返回的ModelState错误?

转载 作者:行者123 更新时间:2023-12-02 06:01:28 25 4
gpt4 key购买 nike

我有一个创建页面,它使用 JsonResult 操作而不是 ActionResult。在 ActionResult 操作中,错误会显示在 View 中违规字段旁边。现在,JsonResult 仅返回一个显示在警报框中的字符串。

我可以在 View 上显示 ModelState 错误吗?

Controller

[HttpPost]
public JsonResult Create(Tload tload)
{
if (ModelState.IsValid)
{
...save changes
return Json(new { Success = 1, TransloadID = transload.TransloadID, ex = "" });
}
else
{
string totalError = "";
foreach (var obj in ModelState.Values)
{
foreach (var error in obj.Errors)
{
if (!string.IsNullOrEmpty(error.ErrorMessage))
{
totalError = totalError + error.ErrorMessage + Environment.NewLine;
}
}
}

return Json(new { Success = 0, ex = new Exception(totalError).Message.ToString()});
}

View 中的 jquery/javascript 代码

function Save() {
// Step 1: Read View Data and Create JSON Object
...do stuff here
// Set 2: Ajax Post
// Here i have used ajax post for saving/updating information
$.ajax({
url: '/Expedite/Create',
data: JSON.stringify(salesmain),
type: 'POST',
contentType: 'application/json;',
dataType: 'json',
success: function (result) {

if (result.Success == "1") {
window.location.href = "/Expedite/index";
}
else {
alert(result.ex);
}
}
});


}

最佳答案

为错误设置一个占位符并最初将其隐藏

<div id="err"></div>

以及何时出现错误

else {
$("#err").html(result.ex);
$("#err").show();
//or you can use .slideDown() etc
}

关于json - 在MVC 3项目中显示JsonResult返回的ModelState错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10456084/

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