在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跳转页面时可以用这个全局变量进行拼接使用