c# - 类型对象的 .NET MVC Action 参数

标签 c# asp.net-mvc

如果我有一个简单的 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/

然后可以使用动态对象来允许多种类型。看这里

MVC3 ModelBinder for DynamicObject

关于c# - 类型对象的 .NET MVC Action 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9067344/

相关文章:

BackgroundWorker 的 C# 问题

asp.net - 多线程接受值并返回值

JavaScript 文件以日语(或其他亚洲语言)显示

c# - TempData 的值在 "Redirect"之后变为空

c# - 在不知道父节点的情况下搜索 XML 节点值

c# - WPF MVVM 登录凭据

javascript - 循环 'System.Threading.Tasks.Task<System.Collections.Generic.List' i 类型的对象时 foreach 语句中出现编译错误

c# - ASP .NET MVC 5 - 客户地址一对一关系

c# - 在 .NET Framework 4.6 中从 C# 使用 SIMD 操作速度较慢

C# Mono MySql 连接器 :Unable to connect to any specified MySQL hosts