华域联盟 .Net 如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)

如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)

首先,我们要在前台引入json的脚本,以便于把js对象序列化

<script type="text/javascript" src="/js/jquery.json-2.4.min.js"></script>

然后我们在前台声明一个类,将你要保存的值放到类里面,最后序列化

复制代码 代码如下:

function Save() {

            var examId = '<%=ExamId %>';

            var yearTerm = $("#<%=DDLYearTerm.ClientID %>").val();

            var examType = $("#<%=DDLExamType.ClientID %>").val();

            var examDate = $("#ExamDate").val();

            var examName = $("#ExamName").val();

            var exam = {};
            exam["ExamId"] = examId;
            exam["YearTerm"] = yearTerm;
            exam["ExamType"] = examType;
            exam["ExamDate"] = examDate;
            exam["ExamName"] = examName;
            var json = $.toJSON(exam);
            var Result = AjaxController.EditExam(json).value;
            if (Result == "Success")
            {
                alert("保存成功");
                parent.$.fancybox.close();
            }
            else
            {
                alert(Result);
            }
        }

然后我们在后台,进行反序列化,并使用值.因为我们使用ajax所以要在后台的方法上加上[Ajax.AjaxMethod]特性,并且在你前台所在页面的cs里面也要加上Ajax的注册.具体使用看

微软 ajax 库 的使用方法( ajax.ajaxMethod) https://www.cnhackhy.com/article/40764.htm

复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)

        {

            Ajax.Utility.RegisterTypeForAjax(typeof(Youjiao.xxt.BLL.Controller.AjaxController));

            if (!IsPostBack)

            {

                Databind();

            }

        }

复制代码 代码如下:

[Ajax.AjaxMethod]
        public string EditExam(string value)

        {

            string Result = "";

            try

            {

                if (HttpContext.Current.Request.IsAuthenticated)

                {

                    EditExam editExam = JsonSerializeHelper.DeserializeFromJson<EditExam>(value);

                    ExamController eController = new ExamController();

                    eController.EditExam(editExam);

                    Result = "Success";

                }

                else

                {

                    Result = "会话无效,请重登录!";

                }

            }

            catch (Exception ex)

            {

                Result = ex.Message;

            }

            return Result;

        }

图片:

复制代码 代码如下:

[Serializable]
    public class EditExam

    {

        public string ExamId { get; set; }

        public string YearTerm { get; set; }

        public string ExamType { get; set; }

        public string ExamDate { get; set; }

        public string ExamName { get; set; }

    }

这样就可以很好的避免在前台js里面传入大量的参数,后台也可以直接反序列化为类来点出成员的值了

您可能感兴趣的文章:

  • 有趣的bootstrap走动进度条
  • BootStrap初学者对弹出框和进度条的使用感觉
  • Bootstrap进度条组件知识详解
  • Bootstrap每天必学之进度条
  • php基于jquery的ajax技术传递json数据简单实例
  • jQuery学习笔记之 Ajax操作篇(二) - 数据传递
  • JSP中获取ExtJS.Ajax前台传递的JSON数据实现过程
  • JavaScript 封装Ajax传递的数据代码
  • $.ajax json数据传递方法
  • Bootstrap进度条与AJAX后端数据传递结合使用实例详解

本文由 华域联盟 原创撰写:华域联盟 » 如何在前台脚本通过json传递数据到后台(使用微软自带的ajax)

转载请保留出处和原文链接:https://www.cnhackhy.com/51762.htm

本文来自网络,不代表华域联盟立场,转载请注明出处。

作者: sterben

发表回复

联系我们

联系我们

2551209778

在线咨询: QQ交谈

邮箱: [email protected]

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部