asp.net mvc将变量发布到控制器

时间:2010-03-23 11:40:07

标签: asp.net-mvc post controller

我来自PHP语言(codeigniter),但现在我学习ASP.Net MVC:)

在PHP codeigniter中,我们可以使用

轻松捕获post变量
$this->input->post("theinput");

我知道在ASP.Net MVC中我们可以创建一个动作方法,接受来自post请求的变量,如下所示

public  ActionResult Edit(string  theinput)

或者

public ActionResult Edit(FormCollection formCol)

有没有办法像PHP的codeigniter一样在ASP.Net中捕获post变量,这样我们就不必编写FormCollection对象,也不必在action方法中写入参数(因为如果我们通过它会变得非常拥挤许多变量进入它)

ASP.Net是否有一个简单的getter方法来捕获这些后置变量?

编辑: 如果你能给我一些这些教程的链接,我将非常感激:D

2 个答案:

答案 0 :(得分:3)

Request.Form["theinput"]

但是,最好的方法是创建一个模型类,其中包含您需要访问的每个变量的属性,然后让您的操作将该类的实例作为参数。

答案 1 :(得分:3)

您通常不希望在代码中使用FormCollection或Request.Form。这些对象很难模拟,这使得自动化测试变得非常困难。

最佳做法是创建一个viewmodel类,其中包含您需要的所有输入作为属性,并将此类作为控制器操作的输入。