Roh*_*rma 3 asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4
嗨,我只是在我的MVC网站上传递这样的网址:
<base href="http:4546//localhost/" />
Run Code Online (Sandbox Code Playgroud)
它在本地工作,但如果我在ISS上托管它.这个网址会产生问题.
如果我在这个网址中删除4546:
然后它的工作.
我通过删除代码中的端口号尝试了它,但仍然在url端口号显示自己.
我如何删除端口号或将是什么方式,以便我可以在公共端口号80上托管它?
请让我知道我缺少的地方.
谢谢
小智 6
您可以创建一个基本控制器并添加此方法
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
base.OnActionExecuting(filterContext);
var request = HttpContext.Request;
var baseUrl = string.Format("{0}://{1}{2}", request.Url.Scheme, request.Url.Authority, HttpRuntime.AppDomainAppVirtualPath == "/" ? "" : HttpRuntime.AppDomainAppVirtualPath);
ViewBag.BasePath = baseUrl;
}
Run Code Online (Sandbox Code Playgroud)
将始终在每个请求上调用此方法OnActionExecuting,并在您的代码中使用此viewbag.
这将解决您在代码中的每个位置写入的问题.
| 归档时间: |
|
| 查看次数: |
2247 次 |
| 最近记录: |