asp.net-mvc – ASP.NET MVC 2中的空查询字符串参数的模型绑定

发布时间:2020-01-08 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – ASP.NET MVC 2中的空查询字符串参数的模型绑定大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
现在,行为 described here现在是ASP.NET MVC 2的默认值(至少对于预览1)。

当模型绑定一个querystring这样:

?Foo=&Bar=cat

发生以下绑定(假设您绑定到具有’Foo’和’Bar’字符串属性的模型)

ASP.NET MVC 1

model.Foo = "";
 model.Bar = "cat":

ASP.NET MVC 2(预览1到RC)

model.Foo = null;
 model.Bar = "cat":

想要给任何正在玩V2的人一个头脑,因为在’gu-notes‘没有提到。如果知道的任何人可以评论这是否是最终的实现还是可配置的功能,那么也好奇?我很好,但只是希望他们不要重新回到旧的方式!可配置会更好。

编辑:从这一点学习的教训是您正在开发的任何版本,而不是编写Foo.Length == 0的代码来测试一个空字符串或Foo.Length> 3检查最小长度。使用string.IsNullOrEmpty(Foo)和/或首先检查null。

更新:这个问题引发了我对他们为什么实际做出这个改变的好奇心。我认为我在研究残疾人控制时绊倒了答案。 W3 HTML规范定义了“successful control”,如下所示:

换句话说,一个成功的控制是将它作为一个查询字符串参数返回到服务器。现在,如果控件没有有效的值,那么根据规范:

(在这里用’不需要…’)发现’开放解释’语言

所以我想通过发送一个null而不是一个空字符串来减少浏览器不兼容的地方,某些浏览器可能会发送Foo =& Bar =,而其他人甚至可能不会发送该查询字符串参数。通过总是解释Foo =好像Foo不是在所有的力量你更防守。

我认为至少在正确的轨道上,为什么在这里 – 至少在一定程度上与“成功的控制”的概念有关。

http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2

解决方法

Null更具代表性,实际上它是与其他可空类型兼容的,除了字符串,所以我想象的是设计。

大佬总结

以上是大佬教程为你收集整理的asp.net-mvc – ASP.NET MVC 2中的空查询字符串参数的模型绑定全部内容,希望文章能够帮你解决asp.net-mvc – ASP.NET MVC 2中的空查询字符串参数的模型绑定所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。