加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 18:41:38 所属栏目:百科 来源:网络整理
导读:我有一个使用JsonResult操作而不是ActionResult的创建页面.在ActionResult操作中,错误显示在违规字段旁边的视图上.现在,JsonResult只返回一个显示在警告框中的字符串. 我可以在视图上显示ModelState错误吗? 控制器 [HttpPost]public JsonResult Create(Tloa
我有一个使用JsonResult操作而不是ActionResult的创建页面.在ActionResult操作中,错误显示在违规字段旁边的视图上.现在,JsonResult只返回一个显示在警告框中的字符串.

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

控制器

[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()});
    }

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            
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读