使用MVC发布多个值

时间:2010-11-01 12:53:47

标签: asp.net-mvc asp.net-mvc-2 post

我有一个带有属性的模型,该属性指向包含HTML的文件。我对此模型的强类型视图使用自定义HTML帮助程序方法来解析并从文件返回HTML。到目前为止工作得很好。

从每个文件读取的HTML将包含各种控件,其值在表单POST时需要检索。

在我的控制器方法中访问POSTed控件值的最佳方法是什么?

我更喜欢非jQuery解决方案,但我不确定MVC框架是否可以为我提供这些值?它能以某种方式向控制器提供键/值对列表吗?

3 个答案:

答案 0 :(得分:3)

您可以在ASP.NET MVC中使用FormCollection。

public ActionResult SomeAction(FormCollection form) {
    ...
}

答案 1 :(得分:2)

你基本上有两种选择。

1)使用旧式Request变量,就像我们在ASP.NET Web表单中所做的一样

例如,在您的控制器操作方法中,您可以使用以下方法检索表单上的任何值

public ActionResult SomeAction() {
    var request = this.ControllerContext.HttpContext.Request;
    bool boolParam = bool.Parse( request["boolParam"] ?? "false" );
}

2)创建一个自定义模型绑定器,让框架将这些值打包在自定义类对象中

这种方法在开始时会有点困难,因为你必须创建一个自定义的Model Binder,但它有利于你的控制器代码的可读性。有关创建自定义模型绑定器的更多详细信息,请查看以下链接(通过简单搜索可以找到更多内容)

希望有所帮助

答案 2 :(得分:0)

HTML文件的内容在设计时是动态的还是已知的?如果您现在知道它,您可以让每个帖子都自己动作,然后强烈输入参数。