如果我有一个简单的 Controller 路由如下:
context.MapRoute(
"Default",
"{controller}/{action}",
new { controller = "Base", action = "Foo"}
);
Controller Foo Action 如下:
[HttpPost]
public ActionResult Foo(object bar) { ... }
如何bar
约束?我已经调试过了,看到它是一个 string
,但我不确定它是否总是被编码为一个字符串。
基本上我想让方法接受 bool
, List<int>
, 和 int
.我可以发送一个类型参数并从帖子中自己绑定(bind)模型。 (该帖子是一个表单帖子)。
这是我当前的帖子 &bar=False
或 &bar=23
或 &bar[0]=24&bar[1]=22
.
我知道我可以查看 Foo 操作方法中的帖子,但我想要一些关于在 MVC3 中处理此问题的最佳方法的输入
最佳答案
在这种情况下,我可能会创建一个自定义 ModelBinder:
http://buildstarted.com/2010/09/12/custom-model-binders-in-mvc-3-with-imodelbinder/
然后可以使用动态对象来允许多种类型。看这里
关于c# - 类型对象的 .NET MVC Action 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067344/