0

这个问题的原因是因为我在 MVC 4 应用程序中遇到了路由地址问题,这里发生的事情是我在视图中以这种方式有一个操作链接:

<li>@Html.ActionLink("Description", "Action", "Controller")</li>

当我在 Web 浏览器的 HTML 中运行应用程序时,会出现正确生成的链接

<li><a href="/controller">description</a></li>

但是当我点击网址栏中的链接时,目标路由显示如下:

http://localhost:port/#/Controller

在两者之间插入一个“#”字符,对我不同视图中的所有链接执行此操作,当我将应用程序部署在 Web 服务器中时,它也执行相同的操作,而不仅仅是在我的本地,这使得目标页面不'似乎不正确,我不知道这是什么原因,我一直在寻找但没有成功,希望您能帮助我,在此先感谢。

4

1 回答 1

0

我找到了这种行为的原因,这是因为我在 _Layout_cshtml 文件的头部有 jquery mobile 的脚本加载,如下所示

 <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>

通过此更改,可以正确创建网络路由,我希望这对某人有所帮助。

于 2014-07-30T16:59:07.390 回答