加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax.BeginForm VS Html.BeginForm

发布时间:2020-12-16 03:33:56 所属栏目:百科 来源:网络整理
导读:有的人说,AJAX一听,高大上,HTML一听,死老土,所以AJAX更好。其实这是错误的。每种方法有它不同的用途。现在做如下总结: @using ( Ajax . BeginForm ( "Login" , "Account" , new AjaxOptions { //InsertionMode=InsertionMode.Replace, HttpMethod = "P

有的人说,AJAX一听,高大上,HTML一听,死老土,所以AJAX更好。其实这是错误的。每种方法有它不同的用途。现在做如下总结:

@using (Ajax.BeginForm("Login","Account",new AjaxOptions
{
	//InsertionMode=InsertionMode.Replace,
	HttpMethod = "POST",//OnFailure="searchFailed",
	//LoadingElementId="ajax-loader",0)">UpdateTargetId = "LogonContainer",OnSuccess = "123 "
}))
{
	<h2 class="form-signin-heading">欢迎登陆</h2>
	@Html.TextBoxFor(m => m.UserName,51); font-weight:700">new { @class = "form-control",@placeholder = "Email Address",153)">@required = "true",153)">@autofocus = "true" })
	PasswordFor(m => m.Password,0)">"PassWord",0)">LabelFor(m => m.@id = "ajax-loader",153)">@style = "display:none" })
	<label "checkbox">
			<input type="checkbox" value="记住我" />阅读用户协议
		</label>
	<button "btn btn-lg btn-primary btn-block" id="submitBtn" "submit">登陆</button>
}

上面用的是AJAX.BeginForm 中如果更新了(不管成功或失败,反正都会返回东西吧?)

UpdateTargetId 这个东西就是你要刷新的DIV,你的返回的结果都往这里面丢。

而且最重要的一点区别是Ajax.BeginForm不会改变浏览器地址栏的地址,尽管你刷新了,不然怎么叫AJAX呢?

好了,下面的html.beginform就好理解了,如果你提交了,返回什么就是什么,而且如果你跳到另一个页面的话,页面地址栏会发生变化。

而Ajax.BeginForm呢?只会往UpdateTargetId里面填充你返回的结果,但是其他地方不刷新!

Html.FormMethod.Post,153)">@role = "form",0)">"form-signin" })) { <h2 @placeholder=@required=@autofocus="true"}) @*<input "text" "form-control" placeholder="Email Address" required autofocus />*@ new {@class="true" }) <label "checkbox"> <input "记住我" />阅读用户协议 </label> <button "submitBtn">登陆</button>

所以简单点说,就是你需要做无刷新的时候要用AJAX更好,而有刷新的话,肯定选传统的html.beginform方式!好了,总结到这里了,以前一直不太懂这2者的区别,今天总算是弄懂了。特此总结。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读