日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

转:MVC3系列:~Html.BeginForm与Ajax.BeginForm

發(fā)布時間:2023/12/15 c/c++ 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:MVC3系列:~Html.BeginForm与Ajax.BeginForm 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Html.BeginForm與Ajax.BeginForm都是MVC架構(gòu)中的表單元素,它們從字面上可以看到區(qū)別,即Html.BeginForm是普通的表單提交,而Ajax.BeginForm是支持異步的表單提交,這對于我們開發(fā)者來說是一個福音,我們不用再自己去用JQ代碼了,直接用MVC自代的Ajax.BeginForm就可以很容易的完成一個異步的表單提交動作。

?

Html.BeginForm的原型解釋:

@using (Html.BeginForm()) {} //提交到當前頁面@using (Html.BeginForm(new {} )) {} //提交到當前頁面,并可以傳遞參數(shù)@using (Html.BeginForm("action","controller")) {} //提交到指定controller下的action中@using (Html.BeginForm("action","controller",FormMethod.POST)) {} //提交到指定controller下的action中,并指定提交方式FormMethod枚舉如下: // 摘要:// 枚舉窗體的 HTTP 請求類型。public enum FormMethod{// 摘要:// 指定 GET 請求。Get = 0,//// 摘要:// 指定 POST 請求。Post = 1,}

?

Ajax.BeginForm異步表單原型解釋
@using (Ajax.BeginForm(new AjaxOptions{UpdateTargetId = "UserLogOnContainer",HttpMethod = "Post",OnSuccess = " ",})){} //提交到當前頁面,提交方式為Post,異步更新模塊ID為UserLogOnContainer@using (Ajax.BeginForm("action", "controller", null,new AjaxOptions{UpdateTargetId = "UserLogOnContainer",HttpMethod = "Post",OnSuccess = " ",})){} //提交到指定controller下的action,提交方式為Post,異步更新模塊ID為UserLogOnContainer
下面看一下Ajax.BeginForm的例子,一個用戶登陸的DEMO

View代碼:

@model TsingDa.Ask.Models.UserLogOnModel @{Layout = "";} <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script> <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script> <div id="UserLogOnContainer">@using (Ajax.BeginForm("UserLogOn", "Home", null,new AjaxOptions{UpdateTargetId = "UserLogOnContainer",HttpMethod = "Post",OnSuccess = " ",})){@Html.ValidationSummary(true)<div class="editor-field">@Html.TextBoxFor(m => m.Email)@Html.ValidationMessageFor(m => m.Email)</div><div class="editor-field">@Html.TextBoxFor(m => m.Password)@Html.ValidationMessageFor(m => m.Password)</div><input type="submit" id="logOnBtn" value="登陸" />} </div>

Controller層代碼如下:

/// <summary>/// 用戶登陸/// </summary>/// <returns></returns>public ActionResult UserLogOn(){return View(new UserLogOnModel("郵箱", "密碼"));}[HttpPost]public ActionResult UserLogOn(UserLogOnModel entity){if (ModelState.IsValid){VM = user_InfoManager.UserLogOn(new User_Info { Email = entity.Email, Password = entity.Password });if (VM.IsComplete){return RedirectToAction("Index", "Home");}else{VM.ToList().ForEach(i => ModelState.AddModelError("", i));}}return View();}

放一下對應(yīng)的model實體

/// <summary>/// 用戶登陸/// </summary>public class UserLogOnModel{public UserLogOnModel(){this.Email = "登陸名";this.Password = "密碼";}[Required][DataType(DataType.EmailAddress)][Display(Name = "郵箱")]public string Email { get; set; }[Required][DataType(DataType.Password)][Display(Name = "密碼")]public string Password { get; set; }}


表單提交后,頁面效果如下:

需要注意的是,表單中的按鈕在異步表單中也是Submit類型,如果是異步表單,引入的JS文件需要有jquery.unobtrusive-ajax.min.js,在這項目的scripts目錄已經(jīng)存在。

總結(jié)

以上是生活随笔為你收集整理的转:MVC3系列:~Html.BeginForm与Ajax.BeginForm的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。