有时在页面上,我必须显示来自不同对象属性的属性的一些数据。 A.e.当我上课
Sart session
,并且想要显示我的自定义属性中的数据,我可以使用诸如
之类的smth
class A
{
[CustomAttribute("See me!")]
public int B{get;set;}
}
,效果很好。但是当我想把它变成
static string TitleFor<TClass, TProp>(TClass model, Expression<Func<TClass, TProp>> expression)
并使用它
static MvcHtmlString TitleFor<TClass, TProp>(this HtmlHelper htmlHelper, TClass @object, Expression<Func<TClass, TProp>> expression)
我遇到类似 error CS1061的错误:'HtmlHelper'不包含'TitleFor'的定义,并且找不到可访问的扩展方法'TitleFor'接受类型为'HtmlHelper'的第一个参数(您是缺少using指令或程序集引用?) 其中 CurrentPageModel —类,在此页面上用作模型。
如何正确处理?
更新:在我的函数中添加了@Html.TitleFor(default(A), (x) => default(A).B)
关键字,但是并没有太大帮助-现在我得到 CS0117:'HtmlHelper'不包含'TitleFor'的定义 >
更新2:虽然.DisplayFor部分满足了我的需求,但我仍然无法为模型以外的对象做类似的事情。像C ++一样,C#不允许执行成员访问,而public
运算符允许使用C#,这降低了我们在元数据访问中的能力。