没有“指定的参数超出有效值的范围”与 DropDownListFor
在我的一个视图中,我想输出一个文本框:
Html.TextBoxFor(x=>x.Foo[0].Bar) %>
如果 Model.Foo 为空,这会给我错误“指定的参数超出有效值的范围”。
我已经用相同的模型尝试过此操作,但使用了下拉列表:
Html.DropDownListFor(x=>x.Foo[0].Bar, Model.BarList) %>
没有错误...
这并不是真正的问题,但我认为这是一种奇怪的行为,我希望这里有人能给我一个解释。
In one of my views I want to output a textbox:
Html.TextBoxFor(x=>x.Foo[0].Bar) %>
This gives me the error "Specified argument was out of the range of valid values" if Model.Foo is empty.
I have tried this with same model but with a drop down list instead:
Html.DropDownListFor(x=>x.Foo[0].Bar, Model.BarList) %>
No error...
This is not really a problem, but I think it is a strange behavior and I hope someone here can give me an explanation for it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这可能是由于 EditorFor<> 的原因造成的。语法尝试从 x => 中提供的属性中创建 ID 和名称。 x...他们可能没有预料到有人会在其中使用 x.Foo[0].Bar,但据我记得他们确实预计 x.Foo.Bar 可以工作。
It's probably due to a reason that EditorFor<> syntax trys to make a ID and a name out of a property provided in x => x...And they probaly didn't anticipate that someone would use x.Foo[0].Bar in it, but as I can remember they did anticipate that x.Foo.Bar could work.