C# 控制器的可选参数

C# 控制器的可选参数,c#,asp.net,parameters,controller,optional,C#,Asp.net,Parameters,Controller,Optional,我有一个带有3个参数的ActionResult,但是当y从另一个ActionResult重定向时,抛出一个错误,因为3个参数都为null pubblic ActionResult Comentar() { return Redirect("GeneralTop"); } [HttpGet] public ActionResult GeneralTop(string name, int opcion, int id) {

我有一个带有3个参数的ActionResult,但是当y从另一个ActionResult重定向时,抛出一个错误,因为3个参数都为null

     pubblic ActionResult Comentar()
     {
          return Redirect("GeneralTop");
     }

[HttpGet]
     public ActionResult GeneralTop(string name, int opcion, int id)
     {
             My code
     }
当我从Comentar重定向时,视图不起作用。请帮忙?(引擎aspx)

试试上面的方法


如果您希望参数是可选的,您应该使用可空类型。

您可以通过使用可空类型(例如,
int?opcion
)使参数成为可选的,但是如果我这样做,则在使用opcion的变量中抛出下一个错误,不能转换int?你确定语法正确吗?因为不要让我这样说,但是你忘了新的{名称:“test”,选项:4,id:3},非常感谢;)
     pubblic ActionResult Comentar()
     {
          return RedirectToAction("GeneralTop",new {name:"test",option:4,id:3});
     }