如何访问 Razor 引擎视图文件中的 C# 类属性?
C#类:
[Name="Test"]
public class OrderProgressPage
{
bool isComplete();
}
剃刀视图:
@model ViewModels.OrderProgressPage
<ul>
<li>@GETAttribute(Name,Model)</li>
<ul>
如何访问 Razor 引擎视图文件中的 C# 类属性?
C#类:
[Name="Test"]
public class OrderProgressPage
{
bool isComplete();
}
剃刀视图:
@model ViewModels.OrderProgressPage
<ul>
<li>@GETAttribute(Name,Model)</li>
<ul>
一种干净的方法是在 Razor 文件中使用本地函数
@functions
{
private Test GetTestAttribute(object obj)
{
// TODO: This returns null if TestAttribute was not on the class
TestAttribute myAttribute =
Attribute.GetCustomAttribute(obj, typeof (TestAttribute)) as TestAttribute;
}
}
<li>@GetTestAttribute(myClassInstance)</li>
参考:http: //msdn.microsoft.com/en-us/library/71s1zwct.aspx
如果需要传入一个属性名来检查,可以使用
Type.GetType(string typeName)
根据您在做什么,您还可以将 GetTestAttribute 更改为具有如下签名的通用函数
private T GetAttribute<T>(object obj)