Tom*_*ana 7 c# asp.net-mvc razor asp.net-mvc-3
在普通的C#代码中,我可以使用using语句来定义类名的别名,例如
using MyAlias = Some.Long.Namespace.Class;
Run Code Online (Sandbox Code Playgroud)
我在剃刀视图中尝试过相同的方法,这是一种天真的方法
@using MyAlias = Some.Long.Namespace.Class
Run Code Online (Sandbox Code Playgroud)
不起作用.有没有办法达到同样的效果?
Dar*_*rov 11
你为什么想这么做?无论你需要什么原因,都可能有更好的方法.你应该避免在Razor视图中编写C#代码,所以你不应该需要它.Razor视图中所需的只是视图模型的命名空间,因为这是视图应该操作的所有内容.
@model MyViewModel
...
Run Code Online (Sandbox Code Playgroud)
将别名和C#代码保留在它们所属的位置 - 控制器,模型,帮助程序,......
所有这一切,别名应该工作.例如,以下视图对我来说非常好:
@using foo = System.IO;
<div>
@foo.Path.GetFileName(@"c:\work\foo.txt")
</div>
Run Code Online (Sandbox Code Playgroud)