ASP.NET MVC5-帮助程序不与模型一起工作

时间:2018-11-30 12:19:40

标签: c# asp.net-mvc html-helper expression-trees

有时在页面上,我必须显示来自不同对象属性的属性的一些数据。 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#,这降低了我们在元数据访问中的能力。

0 个答案:

没有答案