gpt4 book ai didi

asp.net - 在mvc网站的base标签中设置url路径的不同方法

转载 作者:行者123 更新时间:2023-12-01 09:55:10 25 4
gpt4 key购买 nike

您好,我只是在我的 MVC 网站中传递这样的 url:

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

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

如果我像这样删除 url 中的 4546:

http://localhost/Home/Contact

然后它的工作。

我通过删除代码中的端口号进行了尝试,但仍然在 url 中显示了端口号。

我怎样才能删除端口号或者我可以用端口号 80 公开托管它的方法是什么?

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

谢谢

最佳答案

你可以创建一个Base Controller并添加这个方法

 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 将始终在每个请求上调用,并在您的代码中使用此 View 包。

这将解决您在代码中的每个地方编写的问题。

关于asp.net - 在mvc网站的base标签中设置url路径的不同方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29695404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com