使用Razor为类定义别名
本文关键字:定义 别名 Razor 使用 | 更新日期: 2023-09-27 18:20:55
在一个普通的C#代码中,我可以使用using语句来定义类名的别名,例如
using MyAlias = Some.Long.Namespace.Class;
我在剃刀般的视角下也尝试过同样的方法,一种像一样天真的方法
@using MyAlias = Some.Long.Namespace.Class
不起作用。有什么方法可以达到同样的效果吗?
为什么要这样做?不管你为什么需要这个,可能还有更好的方法。无论如何,你应该避免在Razor视图中编写C#代码,所以你不应该需要它。在Razoor视图中,你只需要视图模型的命名空间,因为这就是视图应该处理的全部内容。
@model MyViewModel
...
将别名和C#代码保留在它们所属的位置——控制器、模型、助手。。。
话虽如此,但别名应该有效。例如,以下视图对我来说运行得很好:
@using foo = System.IO;
<div>
@foo.Path.GetFileName(@"c:'work'foo.txt")
</div>
Razor不支持它,但C#支持它。我同意你的看法,那将是有用的。跟踪此请求的问题在这里:
https://github.com/dotnet/aspnetcore/issues/13090