上周末在vb.net中的asp.net mvc项目上工作时,我遇到了一个奇怪的问题。我创建了一个扩展方法,将整数转换为与之关联的月份。我在控制台应用程序中测试了扩展方法,因此我知道它正在工作。
在我的asp.net mvc项目中,我有一个视图并想调用扩展方法,但是却收到一个错误,指出无法识别该扩展方法。我导入了它所包含的名称空间,但仍然无法摆脱错误。知道发生了什么吗?我没有代码,但是如果有帮助,我可以在今晚发布。谢谢!
扩展方式:
Imports System.Runtime.CompilerServices
Module SiteExtensions
<Extension()> _
Public Function ConvertToMonth(ByVal monthNumber As Integer) As String
Dim month As String = String.Empty
Select Case monthNumber
Case 1
month = "January"
Case 2
month = "February"
Case 3
month = "March"
Case 4
month = "April"
Case 5
month = "May"
Case 6
month = "June"
Case 7
month = "July"
Case 8
month = "August"
Case 9
month = "September"
Case 10
month = "October"
Case 11
month = "November"
Case 12
month = "December"
End Select
Return month
End Function
End Module
视图:
<% For Each m As Integer In DirectCast(ViewData("Months"), IEnumerable)%>
<a href="#"><%=m.ConvertToMonth()%><br /></a>
<%Next%>
错误是:“ ConvertToMonth不是Integer的成员”
乔恩
最佳答案
确保将模块声明为公共。