Asp.net
如何在標記中使用擴展和實用方法?
好的。這可能是一個非常愚蠢的問題,但無論如何我都會問它……
如何在我的 ASP.Net 標記中使用擴展和實用方法?例如,(比如說)我有一個名為“ToExampleString()”的 DateTime 擴展方法(包含在我的 Common.Extensions 項目的 DateTimeExtensions 類中),我想在 ListView 的 ItemTemplate 的標記中使用它:
<ItemTemplate> <span><%# ((DateTime)Eval("DateStarted")).ToExampleString() %></span> </ItemTemplate>我收到以下錯誤:
“System.DateTime”不包含“ToExampleString”的定義,並且找不到接受“System.DateTime”類型的第一個參數的擴展方法“ToExampleString”(您是否缺少 using 指令或程序集引用?)
該頁面根本看不到擴展方法。
同樣,如何讓我的頁面標記知道實用程序類:
<span><%# ExampleUtility.ProcessDate(Eval("DateStarted") %></span>我需要採取哪些步驟才能使這些東西發揮作用?我假設我忽略了一些愚蠢明顯的東西?
謝謝
<%@ Import Namespace="Common.Extensions" %>我相信您可以對 web.config 中的所有標記執行此操作。
正如其他人所說,您需要在頁面頂部導入命名空間
<%@ Import Namespace="Common.Extensions"%>或在您的 web.config 中全域
<system.web> <pages> <namespaces> <add namespace="Common.Extensions"/> </namespaces> </pages> </system.web>如果您只需要訪問公共模組(或靜態類)的方法,只需導入應用程序的根命名空間。