c# - 使用 Razor 为类定义别名

标签 c# asp.net-mvc asp.net-mvc-3 razor

在普通的 C# 代码中,我可以使用 using 语句为类名定义别名,例如

using MyAlias = Some.Long.Namespace.Class;

我在 Razor View 中尝试过同样的方法,像这样的天真方法

@using MyAlias = Some.Long.Namespace.Class

不起作用。有什么办法可以达到同样的效果吗?

最佳答案

你为什么要这样做?无论您出于何种原因需要它,都可能有更好的方法。无论如何,您应该避免在 Razor View 中编写 C# 代码,因此您不需要它。在 Razor View 中,您所需要的只是 View 模型的命名空间,因为这是 View 应该操作的所有内容。

@model MyViewModel
...

将别名和 C# 代码留在它们所属的位置 - Controller 、模型、帮助程序......

综上所述,别名应该有效。例如,以下 View 对我来说运行得很好:

@using foo = System.IO;
<div>
    @foo.Path.GetFileName(@"c:\work\foo.txt")
</div>

关于c# - 使用 Razor 为类定义别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8955162/

相关文章:

c# - 在 MVC Action 中使用基类作为重载,但收集所有数据

c# - 闭包是如何在幕后运作的? (C#)

c# - 自动调整 SplitContainer 面板的大小

c# - 如何在 View 页面上显示捕获异常消息?

asp.net-mvc - WCF服务生成Excel文件(10000行)并将其发送给客户端(性能问题)

c# - 当前和推荐的触发异步线程的方法是什么?

c# - WCF 自定义端点行为中字典的 JQuery 并发问题

c# - 不能在同一个契约(Contract)中有两个同名的操作(异步和非)

c# - 如何在数据库值之后等待然后继续

asp.net - 在 MVC 3 应用程序内运行时编译(生成 dll)