MVC使用ajax方法提交表單(二)

昨天,我介紹了我比較常用的ajax表單及文件的上傳方法,MVC使用ajax方法提交表單(一)
今天是另外一種,這次的方法是利用控件jquery.form.js,使用方法比較簡單,需要注意的是隻能傳遞表單,不支持圖片和文件。
首先需要引入下面的js腳本。
1) 插件需要Jquery最低版本爲v1.5
2) 插件提供了ajaxSubmit和ajaxForm兩種表單提交方式,但不要對同一個表單同時使用兩種方式。

<script src="../../Content/jquery.form.js" type="text/javascript"></script>
<script src="../../Scripts/jquery.validate-vsdoc.js" type="text/javascript"></script>

下面是監聽form表單提交事件(無論同步還是異步)

$(document).ready(function () {
        var form = $("#form1");
        form.submit(function () {
            $.post(form.attr("action"),
                     form.serialize(),
                     function (json) {
                         var msg = json.options;
                         if (msg == "ok") {
                             alert("成功添加!");
                             window.location.href = '/Home/Index';
                         }
                         else if (msg == "no") {
                             alert("添加失敗!");
                         }
                     },
                     "json");
            return false;
        });
        });

後臺接收代碼
[HttpPost]
public ActionResult AjaxAddUser(FormCollection form, HttpPostedFileBase File1)
{
string name = form[“name”];
int age = int.Parse(form[“age”]);
DateTime date = System.DateTime.Now;
string path = form[“txt_src”]; ;

        UserList u = new UserList();
        u.name = name;
        u.age = age;
        u.jointime = date;
        u.Url = path;
        //添加,這個只是在內存上操作
        db.UserList.AddObject(u);
        //保存到數據庫
        int ac = 0;
        string msg;
        ac = db.SaveChanges();
        if (ac > 0)
        {
            msg = "ok";
        }
        else
        {
            msg = "no";
        }
        return Json(new { options = msg }, JsonRequestBehavior.AllowGet);
        //return msg;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章