Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何避免视图';名字和路径?_C#_Asp.net Core Mvc - Fatal编程技术网

C# 如何避免视图';名字和路径?

C# 如何避免视图';名字和路径?,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,如果我调用项目中任何地方的控制器或类,我只使用名称空间和文件名: string vc = nameof(MyProject.Controllers.MySillyController) 非常适合重构如果我重命名MySillyController或移动它的名称空间,我将得到编译时错误 但我不能做同样的事情来欣赏风景 我必须把它串起来: string v = "~/Views/Info/Create.cshtml" 我发现了一个关于助手的问题: string path = (

如果我调用项目中任何地方的控制器或类,我只使用名称空间和文件名:

string vc = nameof(MyProject.Controllers.MySillyController)
非常适合重构如果我重命名MySillyController或移动它的名称空间,我将得到编译时错误

但我不能做同样的事情来欣赏风景

我必须把它串起来:

string v = "~/Views/Info/Create.cshtml"
我发现了一个关于助手的问题:

string path = (helper.ViewDataContainer as WebPageBase).VirtualPath;

但是没有太多的上下文,我也不知道这个helper类实际上是什么。它是来自NuGet软件包、旧的内置功能还是什么?

您能解释一下在哪里遇到这种需求吗?除了单元测试之外,我从来没有在另一个控制器或视图之外引用过一个控制器或视图,在这个控制器或视图中,您可以使用诸如
RedirectToAction()
Html.ActionLink()
之类的辅助方法。它将用于intellisense和编译时突出显示。如果我更改我的
视图
文件名和/或文件夹结构,那么我希望突出显示引用该路径的任何内容,以显示它不存在。在MVC中,不要直接调用视图路径(关于重构问题,您是正确的)相反,只需调用控制器/操作方法,例如,在控制器操作方法中,您可以使用:string view=/*some logic*/;返回重定向路由(新建{action=view});不知道助手的情况对不起,你能解释一下你在哪里遇到这种需要吗?除了单元测试之外,我从来没有在另一个控制器或视图之外引用过一个控制器或视图,在这个控制器或视图中,您可以使用诸如
RedirectToAction()
Html.ActionLink()
之类的辅助方法。它将用于intellisense和编译时突出显示。如果我更改我的
视图
文件名和/或文件夹结构,那么我希望突出显示引用该路径的任何内容,以显示它不存在。在MVC中,不要直接调用视图路径(关于重构问题,您是正确的)相反,只需调用控制器/操作方法,例如,在控制器操作方法中,您可以使用:string view=/*some logic*/;返回重定向路由(新建{action=view});不知道帮手的事对不起。