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参考/示例应用程序
- asp.net – StyleCop vs ReSharper和一般编码风格的问题
- asp.net – 如何在SQL4的log4net配置中使用存储过程进行日志
- asp.net – 如何在EF Core中向Identity用户添加外键?
- asp.net-mvc – 如何传递列表从控制器到MVC 3中查看
- asp.net – 来自masterpage的Html.RenderPartial调用
- asp.net-mvc-3 – mvc3在另一个内部嵌入了局部视图
- asp.net – 绑定ListView InsertItemTemplate中的DropDownL
- asp.net-mvc – Visual Studio 2010 Web发布缺少一个文件
- asp.net-mvc – ASP.NET Web-API不序列化readonly属性
- asp.net – 生产网络服务器上的间歇性高CPU(100%
- asp.net – 按钮属性: – commandName和Command
- asp.net-mvc-4 – MVC4和MVCContrib
- asp.net-mvc – 返回ASP.Net Core MVC中的上一页
- ASP.NET页面上的多种语言(英语,法语)
- asp.net-web-api – 仅在第一个Web请求(WebAPI 2
- asp.net-mvc – 使用RedirectToAction单元测试AS
- asp.net – Url重写与路由
- asp.net – 如何通过使用eval应用特定FORMAT的日
- asp.net-mvc – 如何使用我的Error.cshtml视图中
