2012-08-29 28 views
0

我得到的查询字符串回用:如何访问查询字符串中MVC

public ActionResult Index(int id) 
{ 
    var queryString = Request["myQueryString"]; 
} 

然后我看了看:

help-testing-mvc3-controller-that-accesses-querystring

其中规定:

这是反对MVC的设计模式直接使用HttpRequest。您可以访问您的操作中的查询字符串变量作为参数。

我不太明白这一点。我对设计模式做了什么?如果这是为什么,那该怎么办?

回答

1

它打破了模型绑定的概念。它也因为单元测试而变得复杂,并试图为测试新增一个新的HttpContext。如果它只是一个参数,您可以传递该值。

+0

有关测试的影响好点! – Carth

1

的首选(易读)的方法是:

public ActionResult Index(int id, string myQueryString) 
{ 
    ... 
} 
相关问题