方法的MVC可选参数

时间:2011-12-13 21:45:24

标签: asp.net-mvc

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

我有以下内容:

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

当我尝试执行以下操作时:

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

我尝试了以下操作,但收到了错误:

  

可选参数必须是引用类型,可空类型,或者声明为可选参数。参数名称:参数

我不确定我做错了什么。

4 个答案:

答案 0 :(得分:3)

问题在于'id'。 id必须是基URI的一部分:

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

public ActionResult ViewReq (int? id, string Req)

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

答案 3 :(得分:0)

你不需要make一个字符串参数是可选的,因为它们是引用类型,如果它们没有被MVC传入,它们的值无论如何都是null。该URL最终将为非空“Id”,但为“Req”。