【问题标题】:Extension method output in Container.DataItem?Container.DataItem 中的扩展方法输出?
【发布时间】:2010-09-17 22:20:04
【问题描述】:

所以我有一个 IList 业务实体,我在 ListView 中循环到一个无序列表。我在表示层的这个实体上创建了一个扩展方法。在后面的代码中,我可以 Response.Write 这个扩展方法的结果,但是当我尝试通过 ListView 访问它时,我得到一个错误。该方法称为 IsCurrent 并返回一个布尔值......这是我的代码:

<li><%#((CB.CMSFramework.WebPage)Container.DataItem).IsCurrent(Guid.Empty) %></li>

我得到的错误是:“CB.CMSFramework.WebPage”不包含“IsCurrent”的定义,并且找不到接受“CB.CMSFramework.WebPage”类型的第一个参数的扩展方法“IsCurrent”(是您缺少 using 指令或程序集引用?)

但是...当我从后面的代码中执行此类代码时,我没有收到任何错误:

WebPage w = new WebPage();
Response.Write(w.IsCurrent(Guid.Empty));

【问题讨论】:

    标签: extension-methods presentation-layer frontend


    【解决方案1】:

    您的页面需要@Import 包含扩展方法的命名空间

    【讨论】:

    • 天啊。我不敢相信。您会认为命名空间在范围内(我将它与页面本身处于同一命名空间级别)。哦。谢谢。
    • @EvilSyn 获取 R#,这样就不会再发生了。 :) jetbrains.com/resharper
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-06-01
    • 2015-03-12
    • 2011-04-14
    相关资源
    最近更新 更多