是否可以在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