码迷,mamicode.com
首页 > Web开发 > 详细

[ASP.NET MVC] 通过增加disabled特性引发莫名的错误~

时间:2014-11-26 13:43:26      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   color   sp   strong   on   2014   

View代码:

bubuko.com,布布扣

原本想通过增加disabled特性,来防止用户修改,结果让然惊讶!

用于渲染下拉框代码:

bubuko.com,布布扣

Model代码:

bubuko.com,布布扣

Required注释意味着JobNo为必填项。

Controller代码:

bubuko.com,布布扣

通过ViewBag来传递SelectList实例。

 

运行后,通过提交表单的时候出现如下错误,让人百思不得其解。

bubuko.com,布布扣

 

结果:

通过报错反复修改调整,并试图通过网络搜索找到答案。发现通过ViewBag来传递SelectList信息并无不妥,来来回回折腾了大半天,后来索性删除了DropDownList代码,好让代码继续走起来,然而此时提交表单居然无法成功并且发现JobNo位置栏警示不能为空,第一个问题没有解决,又来一个问题;最后无意中发现删除了disabled特性后一切问题都解决了 。

bubuko.com,布布扣

非侵入的客户端验证脚本

 

提交前的界面:bubuko.com,布布扣

提交后的界面:bubuko.com,布布扣

事后回想应该是具有disabled特性都会被表单忽略,Model中的JobNo也就没有内容被绑定(等同于空串),提交后由于前端JobNo(input)中有值,所以客户端验证通过,随后进入服务端验证,发现JobNo为空,最后提交失败。

奇怪的是disabled特性再加上DropDownList代码的时候居然报错ViewData类型不匹配的错误。

最后删除disabled特性,一切功能恢复正常~

[ASP.NET MVC] 通过增加disabled特性引发莫名的错误~

标签:style   blog   http   ar   color   sp   strong   on   2014   

原文地址:http://www.cnblogs.com/jacky-dotnet/p/4122645.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!