Значения по умолчанию для параметров на маршрутизации - PullRequest
1 голос
/ 08 августа 2011

Просто один простой вопрос о значениях параметров по умолчанию в маршрутизации.

Если у меня есть маршрут в глобальном asax со следующими данными:

Name: "DetailPage"
Pattern:/{companytitle}/{departmenttitle}/{persontitle}
Controller="Person"
Action="Detail"

И я использую следующееПомощник в моих представлениях:

@(Url.RouteUrl("DetailPage",new{companytitle=Model.Companytitle, departmenttitle=Model.DepartmentTitle,persontitle=Model.PersonTitle}))

Позволяет представить, что свойство модели DepartmentTitle имеет значение null, как я могу установить значение по умолчанию в Маршруте?

Ответы [ 2 ]

3 голосов
/ 08 августа 2011

Просто определите их как часть маршрута и присвойте им значения по умолчанию, как показано ниже:

routes.MapRoute("DetailPage",
                "/{companytitle}/{departmenttitle}/{persontitle}",
                new { controller = "Person", action = "Detail", departmenttitle = "Science", persontitle ="Me" }
                );
2 голосов
/ 08 августа 2011

Позволяет представить, что свойство модели DepartmentTitle равно нулю

Тебе не следует так думать. Только последний параметр в маршруте может быть нулевым (или пустым). Если параметр может быть нулевым (или пустым), он не должен быть частью вашего определения маршрута (если, конечно, это не последний параметр этого определения маршрута), а должен передаваться как строка запроса.

В вашем случае просто определите маршрут следующим образом:

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