gpt4 book ai didi

asp.net-mvc - ASP.NET-MVC 中的 Controller 路径

转载 作者:行者123 更新时间:2023-12-02 09:01:38 29 4
gpt4 key购买 nike

如何获取 Controller 的路径?例如,我可以像这样获取 HtmlHelper 的路径:

    private static string GetVirtualPath(HtmlHelper htmlhelper)
{
string virtualPath = null;
TemplateControl tc = htmlhelper.ViewDataContainer as TemplateControl;

if (tc != null)
{
virtualPath = tc.AppRelativeVirtualPath;
}

return virtualPath;
}

最佳答案

编辑:以下内容将给出带有 Controller 的程序集的路径以及带有 Controller 操作的类的类型名称。也许这些的组合会给你你所追求的,亚伦?

string assemblyPath = Assembly.GetExecutingAssembly().CodeBase;
string typeName = this.GetType().FullName;

例如,它们会产生类似的结果

file:///C:/Projects/TestApp/TestApp.UI/bin/TestApp.UI.DLL
TestApp.UI.Controllers.TestController

如果您以“标准”ASP.NET MVC 方式放置和命名 Controller ,则上述内容的特定组合可能会为您提供 C# 文件的正确完整路径:

C:/Projects/TestApp/TestApp.UI/Controllers/TestController.cs

或相对路径:

Controllers/TestController.cs

以下内容将给出 Controller 操作的路由:

1) string path = Request.Url.AbsolutePath

2) string appPath = Request.ApplicationPath;
string absPath = Request.Url.AbsolutePath;
string path = appPath.Length <= 1 ?
absPath : absPath.Replace(appPath, "");

TestController 索引操作请求示例 ( http://localhost:50027/Test/Index ):以上返回

1) /Test/Index
2) /Test/Index

对于基本网址为 http://localhost:50027/blog 的网站,对于 TestController 的 Index 操作的请求示例 ( http://localhost:50027/blog/Test/Index ):以上返回

1) /blog/Test/Index
2) /Test/Index

关于asp.net-mvc - ASP.NET-MVC 中的 Controller 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/773798/

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