Действие ссылки добавляют неверный параметр при использовании пользовательских маршрутов - PullRequest
0 голосов
/ 10 октября 2010

Я использую этот пользовательский маршрут для включения подкачки в моем методе индекса в домашнем контроллере:

    routes.MapRoute( _
    "HomePage", _
    "Home/Index/{page_num}", _
    New With {.controller = "Home", .action = "Index", .page_num = ""} _
    )

Но когда я перехожу на любую страницу, например, страницу 2, ссылки на действия добавляют номер страницы к URL:

Html.ActionLink("Home", "Index", "Home")

будет отображать _ http://localhost/Home/Index/2 вместо _ http://localhost/Home/Index

Но я заметил, что методы действия без параметров отображаются правильно: _ http://localhost/Home/About

1 Ответ

0 голосов
/ 10 октября 2010

Html.ActionLink использует параметр page_num из словаря значений предыдущего маршрута, если только вы не измените некоторые параметры, оставленные на page_num.

Если у вас был маршрут, подобный приведенному ниже:

routes.MapRoute( _
    "HomePage", _
    "{controller}/{action}/{page_num}", _
    New With {.controller = "Home", .action = "Index", .page_num = ""} _
    )

Html.ActionLink ("Home", "about") очистит переменную page_num, и вы получите вместо нее URL / home / aboutиз / дома / о / 2.Посмотрите на этот связанный Вопрос .Может быть, это поможет.

...