Игнорировать маршрут с определенным параметром - PullRequest
0 голосов
/ 07 января 2011

У меня есть действие @ url.Action, в котором я передаю параметр в действие.

Когда параметр имеет значение null, я хотел бы просто ничего не делать и оставаться на той же странице.

Я сделал следующее:

routes.MapRoute(
           null,               
           "Test/View/{Id}",
           new { controller = "Test", action = "View" },
           new { Id = @"\d+" } //id must be numerical
           );
routes.IgnoreRoute("Test/View/{*pathInfo}");

Действие не выполнено, но моя проблема в том, что я получаю это:

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly.

Requested URL: /Test/View

То, что я, очевидно, не хочу видеть.

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 10 января 2011

Почему бы вам не использовать условие в вашем представлении, которое, если оно истинно, не отображает текст как ссылку, поэтому пользователь не сможет щелкнуть по нему.

Или, если вы абсолютно хотите сделать ссылку, но хотите, чтобы пользователь оставался на той же странице, создайте ссылку старомодным способом, используя тег привязки, и укажите его «#».Таким образом, он будет отображаться как ссылка, но ничего не будет делать, когда пользователь щелкнет по нему.

...