国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

如何在前臺腳本通過json傳遞數據到后臺(使用微軟自帶的ajax)

2020-01-17 23:46:53
字體:
來源:轉載
供稿:網友

首先,我們要在前臺引入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) //www.survivalescaperooms.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里面傳入大量的參數,后臺也可以直接反序列化為類來點出成員的值了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 六盘水市| 喀什市| 齐齐哈尔市| 东方市| 定远县| 门头沟区| 阿克陶县| 万年县| 泸西县| 平塘县| 平昌县| 绿春县| 读书| 高尔夫| 中卫市| 虞城县| 商洛市| 曲松县| 遂昌县| 长海县| 江川县| 林西县| 黔西县| 海兴县| 界首市| 石渠县| 高碑店市| 普宁市| 华容县| 两当县| 满城县| 房山区| 富源县| 扬州市| 苏州市| 河西区| 石狮市| 秦安县| 马边| 安图县| 明溪县|