После прочтения, я думаю, мне может понадобиться больше информации, но вот что я предлагаю на данный момент.
Я предполагаю, что InternalTags - ваш контроллер, а Test - ваше действие.
Чтобы в URL-адресе было ArticleID
, необходимо добавить ArticleID
в виде "routeValue
"
Но это не исправит это полностью.
Ваша страница находится в тегах / InternalTag / Test
Ваша ссылка на вашей тестовой странице определяется как:
<%: Html.ActionLink("Test", "DisplayArticle", "News")%>
Будет разрешено: http://localhost:1338/Tags/News/DisplayArticle
Если вы добавите ArticleID к ссылке (как показано ниже):
<%: Html.ActionLink("Test", "DisplayArticle", "News", new {ArticleID = "b491bee6-772c-4184-804a-13e53e50aa3d"}, null)%>
С другой стороны:
<%: Html.ActionLink("Test", "DisplayArticle", new {Controller="News", ArticleID = "b491bee6-772c-4184-804a-13e53e50aa3d"})%>
Это разрешит до Tags/News/DisplayArticle?ArticleID={GUID}
.
Если я что-то пропустил, я покрою другой угол:
Для меня Теги - это сайт, на котором вы находитесь, что делает Новости совершенно другим сайтом, если вы хотите перейти на него, вам нужно жестко закодировать вашу ссылку как: http://localhost:1338/News/News/DisplayArticle?ArticleID=b491bee6-772c-4184-804a-13e53e50aa3d.
Если это один и тот же сайт, вам нужно отсортировать маршруты в вашем Global.asax.
Может быть, вы можете прокомментировать мой ответ, и я отредактирую его соответственно?
Редактировать После 1-го комментария:
Если вы можете правильно составить карту маршрутов, то для выбора правильного маршрута достаточно часто использовать ссылку «Действие», для этого нужно посмотреть, как перечислены ваши маршруты, и изменить порядок и используемые значения по умолчанию, чтобы убедиться, что подписи достаточно конкретны для выбора маршрут, который вы хотите.
Для принудительного выбора маршрута вы можете использовать Html.RouteLink(linkText,routeName,routevalues)
Это позволит вам контролировать точный маршрут, который вы хотите использовать, а затем передать значения маршрута для контроллера, действия и ArticleID.