问题描述
传统的webForm,比如用户填一个表单,填得不对的话,alert出来一个框,由于viewState的存在,输入的数据并不会消失。但是在MVC里,这样的情况,应该怎样控制?JS是可以进行简单的判断,但是如果有些判断是要提交的服务器的,然后再返回失败的话,这些输入框的值怎么保留呢?难不成全改成用Ajax提交?大家给个思路!
解决方案
解决方案二:
@Html.PasswordFor(m=>m.OldPassword)@Html.ValidationMessageFor(m=>m.OldPassword)
解决方案三:
MVC里面还是可以输出客户端的脚本的啊。
解决方案四:
楼上的,你这个是标准的做法。但是感觉不太好控制啊。比如有时候是希望alert一个错出来呢
解决方案五:
[HttpPost]publicActionResultLogOn(LogOnModelmodel,stringreturnUrl){if(ModelState.IsValid){if(Membership.ValidateUser(model.UserName,model.Password)){FormsAuthentication.SetAuthCookie(model.UserName,model.RememberMe);if(Url.IsLocalUrl(returnUrl)&&returnUrl.Length>1&&returnUrl.StartsWith("/")&&!returnUrl.StartsWith("//")&&!returnUrl.StartsWith("/\")){returnRedirect(returnUrl);}else{returnRedirectToAction("Index","Home");}}else{ModelState.AddModelError("","Theusernameorpasswordprovidedisincorrect.");}}//Ifwegotthisfar,somethingfailed,redisplayformreturnView(model);}你的问题其实在MVC中很简单,以上代码是标准的MVC3工程中自动生成的代码AccountController.cs中,你的问题可参照下
解决方案六:
当然你要是用Remote特性的话会更简单