在ASP.NET Core中,可以使用Url.Action
方法生成到控制器的基础路径的URL,而不是到操作的URL。以下是一个包含代码示例的解决方法:
在控制器类中,添加一个属性来获取控制器的基础路径:
public class HomeController : Controller
{
private readonly IUrlHelper _urlHelper;
public HomeController(IUrlHelper urlHelper)
{
_urlHelper = urlHelper;
}
public string BaseUrl => _urlHelper.ActionContext.HttpContext.Request.PathBase;
}
然后,在视图中使用BaseUrl
属性来生成到控制器基础路径的URL:
Home
这将生成到控制器的基础路径的URL,例如:/Home/Index
。
注意:在使用此方法之前,需要确保已经在Startup.cs
文件的ConfigureServices
方法中注册了IUrlHelper
:
services.AddScoped(x =>
{
var actionContext = x.GetRequiredService().ActionContext;
return new UrlHelper(actionContext);
});
上一篇:ASP.NET Core:生产环境中连接字符串的放置位置
下一篇:ASP.NET Core:使用Kerberos和Novell.Directory.Ldap.NETStandard库连接到Active Directory