我有一个带有属性的模型,该属性指向包含HTML的文件。我对此模型的强类型视图使用自定义HTML帮助程序方法来解析并从文件返回HTML。到目前为止工作得很好。
从每个文件读取的HTML将包含各种控件,其值在表单POST时需要检索。
在我的控制器方法中访问POSTed控件值的最佳方法是什么?
我更喜欢非jQuery解决方案,但我不确定MVC框架是否可以为我提供这些值?它能以某种方式向控制器提供键/值对列表吗?
答案 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文件的内容在设计时是动态的还是已知的?如果您现在知道它,您可以让每个帖子都自己动作,然后强烈输入参数。