使用ASP.NET MVC的视图中的VB.NET扩展方法

Jon*_*Jon 5 vb.net asp.net-mvc extension-methods .net-3.5

周末,当我在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
Run Code Online (Sandbox Code Playgroud)

视图:

<%  For Each m As Integer In DirectCast(ViewData("Months"), IEnumerable)%>
<a href="#"><%=m.ConvertToMonth()%><br /></a>
<%Next%>
Run Code Online (Sandbox Code Playgroud)

错误是:"ConvertToMonth不是Integer的成员"

乔恩

Dav*_*ley 11

确保将模块声明为Public.