.NET MVC 登录提交返回json实体

控制器中通过调用<pre class="csharp" name="code">OperateContext.CurrentContext.PackagingAjaxMsg("ok", "登录成功", null, "/Home/Index");
返回json实体
 

using System.Web;
using System.Web.Mvc;
using Model;
using IBLL;
using Web.Helper;
using Common;
namespace Web.Logic
{
    public class HomeController:Controller
    {
        #region 处理登录的信息
        /// <summary>
        /// 处理登录的信息
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public ActionResult LoginIn()
        {
            OperateContext oc =OperateContext.CurrentContext;
            string strLoginName = Request.Form["name"];
            string strLoginPwd = Request.Form["pwd"];
            Ou_UserInfo usr=oc._IBLLSession.IOu_UserInfoBLL.Login(strLoginName, strLoginPwd);

            if (usr != null)
            {
                //把登录信息保存到Session中
                Session["loginUser"] = usr;
                //返回json信息

                JsonResult ss = OperateContext.CurrentContext.PackagingAjaxMsg("ok", "登录成功", null, "/Home/Index");
                //msg = new message(true, "Success");
                //AjaxMsgModel ann = new AjaxMsgModel
                //{
                //    Msg = "登录成功",
                //    Statu = "ok",
                //    Data = null,
                //    BackUrl = "/Home/Index"
                //};
                //return Json(ann);
                return ss;
                
            }
            else
            {
                //返回json信息
                return OperateContext.CurrentContext.PackagingAjaxMsg("err", "登录失败", null);
            }
        } 
        #endregion   
    }
}
</pre><pre class="csharp" name="code">
将要返回的json实体

<pre class="csharp" name="code">using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Model
{
    public class AjaxMsgModel
    {
        public string Msg { get; set; }
        public string Statu { get; set; }
        public string BackUrl { get; set; }
        public object Data { get; set ; }
    }
}

 

封装方法将把ajax返回值封装成json格式的返回值
  

<pre class="csharp" name="code">
封装方法将把ajax返回值封装成json格式的返回值
  #region 把ajax返回值封装成json格式的返回值
        /// <summary>
        /// 把ajax返回值封装成json格式的返回值
        /// </summary>
        /// <param name="statu">ajax状态</param>
        /// <param name="msg">ajax信息</param>
        /// <param name="data">ajax数据</param>
        /// <param name="backurl">调用后的链接</param>
        /// <returns></returns>
        public JsonResult PackagingAjaxMsg(string statu, string msg, object data = null, string backurl = "")
        {
            AjaxMsgModel ann = new AjaxMsgModel
            {
                Msg = msg,
                Statu = statu,
                Data = data,
                BackUrl = backurl
            };
            JsonResult ajaxRes = new JsonResult();
            ajaxRes.Data = ann;
            ajaxRes.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
            return ajaxRes;
          
        } 
  #endregion
</pre><pre class="csharp" name="code"><pre class="javascript" name="code"><script type="text/javascript">
       
     

        $('#LoginDialog').dialog({
            title: '登录',
            width: 400,
            height: 200,
            closed: false,
            cache: false,
            modal: true,
            buttons: [{
                iconCls:'icon-edit',
                text:'登录',
                handler: function () {
                    $.ajax({
                        type: "POST",
                        url: "/Home/LoginIn",
                        data:{
                            name: $("#tableForm input[name=UName]").val(),
                            pwd: $("#tableForm input[name=UPwd]").val(),
                        },
                        cache: false,
                        dataType: "json",
                        success: function (data) {                      
                            if (data.Statu == "ok") {
                                window.location = data.BackUrl;
                            }
                            else { alert(data.Msg); }                                                       
                        }
                    });
                }
            }, {
                iconCls:'icon-ok',
                text:'注册',
                handler: function () {

                }
            }]
        });

        function ok(jsonData) {
            $.procAjaxMsg(jsonData, function () {
                window.location = jsonData.BackUrl;
            }, function () { alert("登录失败"); })
        };
       


    </script>

 
 


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值