フロントスクリプトでjsonを介してバックグラウンドにデータを転送する方法(マイクロソフト独自のajaxを使用)

3339 ワード

まず、jsオブジェクトをシーケンス化するために、フロントにjsonのスクリプトを導入します.


次にフロントでクラスを宣言し、保存する値をクラスに入れ、最後にシーケンス化します

 
  
function Save() {
            var examId = '';
            var yearTerm = $("#").val();
            var examType = $("#").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.jb 51.net/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(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に大量のパラメータが入るのを避けることができ、バックグラウンドも直接クラスに逆シーケンス化してメンバーの値をポイントすることができます