首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MVC3:如何将querystring数组绑定到模型上?

MVC3:如何将querystring数组绑定到模型上?
EN

Stack Overflow用户
提问于 2012-10-29 19:04:18
回答 1查看 1.1K关注 0票数 2

我有一个没有参数的动作。我在视图中有一个表单,它可以执行此操作。在操作中,我实例化了一个对象(这样我就可以从DB获得一些默认值),然后我对它使用UpdateModel(),它使用DefaultModelBinder。

因此,我的模型具有以下属性def:

代码语言:javascript
运行
复制
public string[] AI { get; set; }

我的querystring以及表单中的其他内容包含:

代码语言:javascript
运行
复制
?AI=12-345&AI=45-43&AI=48-546

在操作调用UpdateModel()之后,AI属性为空!但是,如果我将操作定义更改为:

代码语言:javascript
运行
复制
MyAction(string[] AI)

然后填充AI参数,就像我期望的模型属性一样。这是默认模型绑定器中的错误吗?我尝试将属性设置为List<string>,但也不起作用。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-31 19:14:37

我生命中最伟大的荷马神迹。我所做的一切都很好,如果像我在我的帖子中所说的那样使用DefaultModelBinder,MVC就可以很好地绑定它;然而,向需要绑定的模型添加额外的值也无法绑定(简单的bool?)我深入挖掘,发现MVC已经为该模型的类型注册了一个自定义绑定器,它为模型上的每个属性做一些事情,因此对我的新属性不做任何事情:(.

所以这个故事的寓意是不要忘记检查活页夹注册,或者只是不使用注册并总是显式地声明。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13120389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档