MVC 4 бритвенный адресный маршрут actionlink добавляет символ фунта между
Причина этого вопроса в том, что у меня проблемы с адресом маршрута в приложении MVC 4, что здесь происходит, так это то, что у меня есть ссылка действия следующим образом:
<li>@Html.ActionLink("Description", "Action", "Controller")</li>
И когда я запускаю приложение в HTML, в веб-браузере появляются сгенерированные ссылки
<li><a href="/controller">description</a></li>
но когда я нажимаю на ссылку в строке веб-адреса, маршрут назначения выглядит следующим образом:
http://localhost:port/#/Controller
Вставляет символ "#" между ними, делает это для всех ссылок в моих разных представлениях, он делает то же самое, когда я развертываю приложение на веб-сервере, не только в моем локальном, и это делает страницу назначения не Выглядит неправильно, я не знаю причину этого, я искал, но безуспешно, надеюсь, вы можете мне помочь, заранее спасибо.
1 ответ
Я нашел причину такого поведения, потому что у меня загружен скрипт для jquery mobile в разделе head в файле _Layout_cshtml, как это
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
<meta name="viewport" content="width=device-width" />
@Scripts.Render("~/bundles/jquery")
@Styles.Render("~/Content/mobilecss", "~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquerymobile")
</head>
Я изменил расположение скрипта jquerymobile до конца _Layout.cshtml.
@Scripts.Render("~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
</body>
С этим изменением веб-маршрут был создан правильно, я надеюсь, что это кому-нибудь поможет.