我有一个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中的文件夹名称。
答案 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');
});