如何使用返回视图的参数正确调用ActionResult

时间:2014-10-14 13:47:12

标签: asp.net-mvc asp.net-mvc-4 actionresult

我有这个代码返回一个视图:

    public ActionResult Survey(int idProject, string name)
    {
        return View(Surveys.Data.Services.Project.GetAllSurveys(idProject));
    }

当我通过

从客户端拨打此电话时
@Url.Action("Survey", "Project", new { idProject = project.IdProjet, name = project.Nom })

网址会显示参数?idProject = 2& name = work 我被告知这不是在MVC中工作的正确方法。

我不认为ajax调用在这里很有用,因为我向客户端返回一个视图。

那么我应该如何调用此ActionResult调查?

2 个答案:

答案 0 :(得分:1)

在默认路由

之前将以下内容添加到RouteConfig.cs文件中
routes.MapRoute(
  name: "ProjectSurvey",
  url: "Project/Survey/{idProject}/{name}",
  defaults: new { controller = "Project", action = "Survey" }
);

答案 1 :(得分:0)

如果您想拥有Survey / Project / 2 / work之类的网址,那么您需要修改路线值,例如

 routes.MapPageRoute("Default",
    "{controller}/{action}/{idProject}/{name}",
    "new { yourcontroller, youraction, UrlParameter.Optional, UrlParameter.Optional");