加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 在mvc网站中设置基本标记中的url路径的不同方法

发布时间:2020-12-16 09:12:23 所属栏目:asp.Net 来源:网络整理
导读:嗨,我只是在我的MVC网站上传递这样的网址: base href="http:4546//localhost/" / 它在本地工作,但如果我在ISS上托管它.这个网址会产生问题. 如果我在这个网址中删除4546: http://localhost/Home/Contact 然后它的工作. 我通过删除代码中的端口号尝试了它,
嗨,我只是在我的MVC网站上传递这样的网址:

<base href="http:4546//localhost/" />

它在本地工作,但如果我在ISS上托管它.这个网址会产生问题.

如果我在这个网址中删除4546:

http://localhost/Home/Contact

然后它的工作.

我通过删除代码中的端口号尝试了它,但仍然在url端口号显示自己.

我如何删除端口号或将是什么方式,以便我可以在公共端口号80上托管它?

请让我知道我缺少的地方.

谢谢

解决方法

您可以创建一个基本控制器并添加此方法

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;
  }

将始终在每个请求上调用此方法OnActionExecuting,并在您的代码中使用此viewbag.

这将解决您在代码中的每个位置写入的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读