MVC 4 Razor ActionLink Indirizzo Route aggiunge Char Char in mezzo
-
21-12-2019 - |
Domanda
La ragione di questa domanda è perché sto avendo problemi con un indirizzo del percorso in Applicazione MVC 4, cosa sta succedendo qui è che ho un collegamento d'azione in questo modo in una vista:
<li>@Html.ActionLink("Description", "Action", "Controller")</li>
.
E quando eseguo l'app nell'HTML nel browser Web appare il collegamento generato correttamente
<li><a href="/controller">description</a></li>
.
Ma quando clicco sul collegamento nella barra degli indirizzi Web, il percorso di destinazione viene visualizzato come segue:
http://localhost:port/#/Controller
.
Sta inserendo un carattere "#" in mezzo, sta facendo questo per tutti i collegamenti nei miei diversi punti di vista, fa lo stesso quando implementato l'app in un server web anche niente solo nel mio locale e questo lo rende ilLa pagina di destinazione non appare corretta, non conosco la ragione di questo, ho cercato ma senza successo, spero che tu possa aiutarmi, grazie in anticipo.
Soluzione
Ho trovato la ragione per quel comportamento, è stato perché ho il carico di script per JQuery Mobile nella sezione della testa nel file _layout_cshtml come questo
<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>
.
Cosa faccio è cambiato la posizione dello script JqueryMobile alla fine del _Layout.cshtml
@Scripts.Render("~/bundles/jquerymobile")
@RenderSection("scripts", required: false)
</body>
.
Con questa modifica è stato creato correttamente il percorso Web, spero che questo aiuti a qualcuno.