(自己看了下.图片有点宽.显示的不全.可以右键新标签查看)
作为一个新手.今天又开始了mvc的学习之旅.然而学习过程中又遇到了一个奇妙的问题....
一切按部就班到了这里.注册界面.
一眼看上去就不对劲.性别那里怎么默认是女.你可以选第一个.可以不选.默认选第二个.总让我觉的怪怪的.当然啦.还有一部分原因是和教程不一样.
我们来看看model
在看看视图代码
我也没有设置.默认选中了.第二个.
好了测试开始...不上截图了.说结果
这要不是bool的话.就不会选中.是bool的话.就会选中值为false的哪项.
这不行呐.我要解决这个问题.
于是百度之....找到一个方法.添加html属性.于是乎代码成了这样
然而界面还是这样....
赶紧看看源代码
完全不按剧本走.和我想的不一样.我以为手动赋值后就不会加了.好嘛.结果成了2个checked.不过即使是这样显示的还是选择第二个.
于是另辟蹊径.前面不是说了.不是bool.就不会默认选中了.于是乎.脑子一动.反正页面都是字符串.那就来个字符串把.
结果微软强大的地方来了.来了.来了.结果如下图.
我要说什么好.微软把字符的false也当做了.bool值来处理......
再想....要欺骗它.于是在false前面加了个空格
结果.
微软没有太"聪明".没有识别成bool值.但是这样怕后台.接受值时.转换不成bool.好在担心是多余的.成功识别了.
这样的话.我们可以通过添加属性.来显示默认选择哪个.或者什么都不选.
还有一个疑问.我说的教程中是怎么回事呢?
原来教程中的model是这样的
看见区别了吗?原来是教程中的数据库性别那里是可空.ef对应过来就是可空bool.这样的话.那里那样写就不会默认选中了.
我的数据库性别是不可空的.于是就遇到了上面的问题.
还好.顺利的解决了这个问题.也是一个小小的收获.我百度的过程中.并没有百度到这样的情况.所有在此分享出来.O(∩_∩)O~