当前位置:  开发笔记 > 编程语言 > 正文

返回部分视图和消息

如何解决《返回部分视图和消息》经验,为你挑选了1个好方法。



1> Renan Araújo..:

使用扩展方法RenderToString和basead on cacois answer,你可以像这样创建你的动作:

public ActionResult Edit(SettingViewModel model)
{
    // "Ifs" to return only partials
    if (ModelState.IsValid)
    {
        return PartialView("EditSetting", model);
    }

    ...

    // Returning a Json with status (success, error, etc), message, and the content of 
    // your ajax, in your case will be a PartialView in string
    return Json(new { 
               Status = 1, 
               Message = "error message", 
               AjaxReturn = PartialView("EditSetting", model).RenderToString()});
}

PS.我建议你创建一个模型来定义Ajax的回报,有Status,MessageAjaxReturn.这样,您的ajax请求将始终返回相同的对象类型.对于该Status属性,您可以创建一个枚举.

你的ajax请求将是这样的:

$.ajax({
    url: this.action,
    type: this.method,
    data: $(this).serialize(),
    success: function (data) {
        if(data.Message == undefined) {
            // Use data like a partial
        } else {
            // Use data.Message for the message and data.AjaxReturn for the partial
        }
    },
    error: function (message) {
        logOut($self, message);
    }
});

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有