如何在mvc中测试表单提交

时间:2014-03-11 09:15:54

标签: asp.net-mvc httpcontext

我正在通过模板中的表单发送一些参数,并且我的控制器中的操作正在相应地处理它。

现在我想为该操作编写一个测试用例。我应该如何制作该虚拟请求,以便Request.Form [“selectedSuppliersHidden”]在控制器操作中起作用?

1 个答案:

答案 0 :(得分:0)

你不应该真的需要在MVC中使用Request.Form

请阅读:http://weblogs.asp.net/scottgu/archive/2007/12/09/asp-net-mvc-framework-part-4-handling-form-edit-and-post-scenarios.aspx

如果您正确处理发布,那么您将拥有一个可以接受变量并且更容易测试的Action。

修改 您可以在Action中使用FormCollection参数,类似这样

[HttpPost]
public ActionResult Index(string btnSubmit, FormCollection collection)
{
    //btnSubmit this is the button that is clicked.
    return View();
}

FormCollection将包含Request.Form集合中的所有内容。但是您仍然可以以正常的MVC方式发布右侧列表框