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>

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

Другие вопросы по тегам