2011-12-13 58 views
2

我想为ActionResult方法创建一个可选参数。方法的MVC可选参数

我有以下几点:

public ActionResult ViewReq (int id, string Req = null) 

当我试图做到以下几点:

http://localhost/RepMedia/Controller1/ViewReq?id=34343?Req="34233" 

我尝试以下,但得到了一个错误:

An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters

我不是确定我做错了什么。

回答

3

问题出在'id'。该ID必须是基本URI的一部分:

http://localhost/RepMedia/Controller1/ViewReq/34343?Req=34233 
2
http://localhost/RepMedia/Controller1/ViewReq?id=34343&Req=34233 

在第一个参数之前使用问号 - 所有其他人应该按照&符号拆分。

0

您不需要创建一个字符串参数可选,因为它们是引用类型,如果它们没有被MVC传入,它们的值将为空。该URL将以非空“Id”结尾,但为空“Req”。

1
public ActionResult ViewReq (int? id, string Req) 

http://localhost/RepMedia/Controller1/ViewReq?id=34343&Req=34233