Lei*_*ers 7 asp.net markup extension-methods
好.这可能是一个非常愚蠢的问题,但无论如何我都会问它......
如何在ASP.Net标记中使用扩展和实用程序方法?例如,(比如说)我有一个名为"ToExampleString()"的DateTime扩展方法(包含在我的Common.Extensions项目中的DateTimeExtensions类中),我想在ListView的ItemTemplate中使用它在我的标记中:
<ItemTemplate>
<span><%# ((DateTime)Eval("DateStarted")).ToExampleString() %></span>
</ItemTemplate>
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
'System.DateTime'不包含'ToExampleString'的定义,并且没有扩展方法'ToExampleString'可以找到接受类型'System.DateTime'的第一个参数(你是否缺少using指令或汇编引用?)
该页面根本看不到扩展方法.
同样,如何让我的页面标记意识到实用程序类:
<span><%# ExampleUtility.ProcessDate(Eval("DateStarted") %></span>
Run Code Online (Sandbox Code Playgroud)
我需要采取哪些步骤来使这些东西工作?我想我忽略了一些明显的东西?
谢谢
Dav*_*enn 11
您需要在页面顶部导入命名空间,正如其他人所说的那样
<%@ Import Namespace="Common.Extensions"%>
Run Code Online (Sandbox Code Playgroud)
或者在web.config中全局
<system.web>
<pages>
<namespaces>
<add namespace="Common.Extensions"/>
</namespaces>
</pages>
</system.web>
Run Code Online (Sandbox Code Playgroud)
如果您只需要访问公共模块(或静态类)的方法,只需导入应用程序的根命名空间.
<%@ Import Namespace="Common.Extensions" %>
Run Code Online (Sandbox Code Playgroud)
我相信你可以在web.config中为你的所有标记做到这一点.
| 归档时间: |
|
| 查看次数: |
2234 次 |
| 最近记录: |