将MVC项目上载到WebServer时断开链接

时间:2014-06-12 18:25:25

标签: asp.net-mvc iis

我有一个MVC项目,我在我的Web服务器上用IIS发布他

但有些按钮,我有以下代码

的Javascript

$("#btn").click(function () {
   window.location.href = "/Home/Login";
});

这只是一个样本。

当我点击我的按钮时,我的家庭控制器的登录方法被触发。这在localhost中工作正常。

当我将项目放入服务器时,我需要更改href以将文件夹名称放在应用程序所在的位置wwwroot

$("#btn").click(function () {
   window.location.href = "/Web/Home/Login";
});

我该怎样防止这种情况? 我有太多图像和功能,不使用wwwroot中的文件夹名称。

2 个答案:

答案 0 :(得分:2)

你可以在你的剃须刀视图中写下这个

<script type="text/javascript">
   var baseUrl = '@Url.Content("~")';
</script>

您可以在js代码中引用baseUrl

$("#btn").click(function () {
    window.location.href = baseUrl + "Home/Login";
});

baseUrl将为您提供结果/Web/,并且应该将您的呼叫指向正确的路径。

答案 1 :(得分:0)

您可以使用Url.Action辅助方法。它生成一个操作方法的完全限定URL。

<强> HTML

<button id='btn' data-url='@Url.Action("Login","Home")'>Login</button>

<强> JS

$("#btn").click(function () {
   window.location.href = $(this).data('url');
});