在普通的C#代码中,我可以使用using语句来定义类名的别名,例如
using MyAlias = Some.Long.Namespace.Class;
我在剃刀视图中尝试了同样的方法,这是一种天真的方法,如
@using MyAlias = Some.Long.Namespace.Class
不起作用。有没有办法达到同样的效果?
答案 0 :(得分:11)
你为什么要那样做?无论你需要什么原因,都可能有更好的方法。你应该避免在Razor视图中编写C#代码,所以你不应该需要它。 Razor视图中所需的只是视图模型的命名空间,因为这是视图应该操作的所有内容。
@model MyViewModel
...
将别名和C#代码保留在它们所属的位置 - 控制器,模型,帮助程序......
所有这些都说,别名应该有效。例如,以下视图对我来说非常好:
@using foo = System.IO;
<div>
@foo.Path.GetFileName(@"c:\work\foo.txt")
</div>
答案 1 :(得分:0)
它在 Razor 中不受支持,但在 C# 中受支持。我同意你的看法,这会很有用。跟踪此请求的问题在这里: