如何在Url.Action中传递一些参数?

时间:2017-10-23 19:09:00

标签: c# asp.net-mvc-4

Url.Action("CreatePerson", "Person", new { id = 6, name = "rachel", grade="a" });

当我获取操作中的参数时,我只获得第一个值(id的值),但我没有得到namegrade的值。为什么呢?

1 个答案:

答案 0 :(得分:0)

您需要在控制器方法上定义其他参数,如下所示:

 public ActionResult SuccessfulPostData(int id, string name, string grade)
        {

            ViewBag.name= name;
            return View();
        }

在视图中,您可以显示值:

 @Viewbag.name

有时您还需要明确定义路由参数。这可以在RouteConfig.cs文件中找到。

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}/{name}/{grade}",
        defaults: new { controller = "Home", action = "SuccessfulPostData", id = UrlParameter.Optional, name = UrlParameter.Optional, grade = UrlParameter.Optional }
    );