Маршрут с проблемой обнуляемого параметра - PullRequest
0 голосов
/ 25 января 2010

У меня есть страница, где вы редактируете "группы пользователей". И у меня есть это в моем контроллере:

public ActionResult UsergroupEdit(int? usergroupID)

и редактировать, и создавать в одном представлении.

и в global.asa:

 routes.MapRoute("AdminUsergroupEdit", "Admin/Usergroup/Edit/{usergroupID}",
            new
            {
                controller = "UsergroupsAdmin",
                action = "UsergroupEdit"
            }
                );

 routes.MapRoute("AdminUsergroupCreate", "Admin/Usergroup/Edit/",
            new
            {
                controller = "UsergroupsAdmin",
                action = "UsergroupEdit"
            }
                );

И при использовании это работает:

Html.ActionLink("Edit", "UsergroupEdit", new { usergroupID = Model.Usergroup.UsergroupID })

Но этот не совпадает, в чем проблема с этим?

Html.ActionLink("Create", "UsergroupEdit")

Как я могу сделать так, чтобы это совпадало в обоих случаях? так как «UsergroupID» имеет значение null, но в обоих случаях должно совпадать с этим действием?

/ M

1 Ответ

1 голос
/ 25 января 2010

Используйте Html.RouteLink вместо Html.ActionLink:

Html.RouteLink("Create", "AdminUsergroupCreate", "Create",
    new RouteValueDictionary { { "action", "UsergroupEdit" } } )

RouteLink быстрее и никогда не выбирает неправильный маршрут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...