在IIS上部署ASP.NET MVC程序时使用虚拟目录的问题

1.使用虚拟目录是,后端中的重定向等该如何处理

string path = filterContext.HttpContext.Request.ApplicationPath;
if (path == "/")
{
path = "";
}
filterContext.Result = new RedirectResult( path+"/Home/Login");

  

使用Request.ApplicationPath获取当前服务器的虚拟路径问题得到解决

2. 使用虚拟目录时,页面中a标签的链接怎样处理

@{
var path=Request.ApplicationPath;
if(path == "/")
{
path = "";
}
}
<a href="@path/Home/Index" class="navbar-brand">

  

在页面中使用razor视图语言获取虚拟路径然后在a标签中进行拼接

3. 使用虚拟目录时,js中的ajax以及跳转页面如何处理

<script>
var rootDir = "@Request.ApplicationPath";
if (rootDir == "/")
rootDir = "";
</script>
window.location.href = rootDir +"/Home/Index"

  

在模板页中使用js以及razor视图的模板语言定义一个虚拟目录的全局变量,在ajax中或者需要通过js跳转页面时可以用这个全局变量进行拼接使用

posted @ 2021-05-08 12:25  奥兰王子  阅读(425)  评论(0编辑  收藏  举报