Asp.net mvc 使用ASP.NET MVC在视图中进行VB.NET扩展的方法
周末我在vb.net中进行asp.net mvc项目时遇到了一个奇怪的问题。我创建了一个扩展方法,将整数转换为与之关联的月份。我在控制台应用程序中测试了扩展方法,所以我知道它正在工作 在我的asp.net mvc项目中,我有一个视图,希望调用扩展方法,但我得到一个错误,即扩展方法无法识别。我导入了它所包含的名称空间,但仍然无法消除错误。知道发生了什么吗?我没有带代码,但如果有帮助的话,我可以在今晚发布。谢谢 扩展方法:Asp.net mvc 使用ASP.NET MVC在视图中进行VB.NET扩展的方法,asp.net-mvc,vb.net,.net-3.5,extension-methods,Asp.net Mvc,Vb.net,.net 3.5,Extension Methods,周末我在vb.net中进行asp.net mvc项目时遇到了一个奇怪的问题。我创建了一个扩展方法,将整数转换为与之关联的月份。我在控制台应用程序中测试了扩展方法,所以我知道它正在工作 在我的asp.net mvc项目中,我有一个视图,希望调用扩展方法,但我得到一个错误,即扩展方法无法识别。我导入了它所包含的名称空间,但仍然无法消除错误。知道发生了什么吗?我没有带代码,但如果有帮助的话,我可以在今晚发布。谢谢 扩展方法: Imports System.Runtime.CompilerService
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
导入System.Runtime.CompilerServices
模块站点扩展
_
作为字符串的公共函数ConvertToMonth(ByVal monthNumber作为整数)
Dim month As String=String.Empty
选择Case monthNumber
案例1
月份=“一月”
案例2
月份=“二月”
案例3
月份=“三月”
案例4
月份=“四月”
案例5
月份=“五月”
案例6
月份=“六月”
案例7
月份=“七月”
案例8
月份=“八月”
案例9
月份=“九月”
案例10
月份=“十月”
案例11
月份=“11月”
案例12
月份=“12月”
结束选择
回归月
端函数
端模块
视图:
错误为:“ConvertToMonth不是Integer的成员”
Jon代码可能会有所帮助,但听起来您仍然没有正确导入扩展方法。您可能希望尝试为它提供与应用程序相同的名称空间。或者将扩展的名称空间更改为
System.Web.Mvc
,因为我们知道名称空间是有效的,然后从那里退出。确保将模块声明为公共的。更改代码如下:
Public Module SiteExtensions
End Module
谢谢你的回复!我还没能测试它,因为昨晚我一开机,我的主板就坏了。它应该在今天或明天修复,我会尝试一下你的建议,谢谢!我在这个问题上浪费了很多时间。事实上,我自己更正了它,然后读了这篇文章+1.
Public Module SiteExtensions
End Module