是否可以在ASPX页面内嵌这样的内容?我可以在ASPX页面内联使用扩展方法吗?
<%= Me.SomeExtensionMethod() %>
我似乎无法弄清楚如何得到这个正常工作。我收到一个错误消息,说“SomeExtensionMethod”不是当前Page对象的成员。我在页面顶部添加了必要的<%@ Import Namespace="..." %>
指令。这在代码隐藏工作。
这不是非常重要,但是知道未来如何做是一件好事。
谢谢!
是否可以在ASPX页面内嵌这样的内容?我可以在ASPX页面内联使用扩展方法吗?
<%= Me.SomeExtensionMethod() %>
我似乎无法弄清楚如何得到这个正常工作。我收到一个错误消息,说“SomeExtensionMethod”不是当前Page对象的成员。我在页面顶部添加了必要的<%@ Import Namespace="..." %>
指令。这在代码隐藏工作。
这不是非常重要,但是知道未来如何做是一件好事。
谢谢!
尝试关闭.aspx
页面并按照this answer再次打开页面。如果这可以改善某些事情(例如启用智能感知),但不能解决问题,请发布任何新错误。
您还可以将Public
修饰符添加到您的Module
或class
定义中。如果您使用的是模块,对我来说这是不需要的,但对this forum的一些讨论表明它可能有所帮助。
如果它工作在代码隐藏的命名空间添加到函数调用:
<%=MyNamespace.ExtensionFcn("hello, world") %>
我会做这个之前,我会修改web.config。
在命名空间中添加导入适用于我!
<%@ Import Namespace="Foo.FooFoo" %>
这里是答案。它不可访问,因为包含扩展方法的类在ASPX生成的类中不会自动导入/使用。在代码隐藏中添加Import/using子句并没有帮助,因为代码隐藏只是ASPX类的基类。 – JMD 2016-03-14 20:42:56
这工作!和你一样,这对我来说确实没有意义,但添加“公共”访问修饰符的确有用。谢谢! – Pwninstein 2010-01-15 20:05:39
为我工作!我不得不将我的模块更改为公共范围,并将导入添加到“Namespace.ModuleName”。 – EverPresent 2013-02-22 20:10:32
谢谢 - 我使用了'import'语句,它工作。 – strider 2014-08-23 17:41:09