我正在通过音乐商店教程学习ASP.net MVC 3--但是把C#翻译成VB。http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-2
乔恩·加洛韦说:"ASP.NET MVC的默认路由约定是将动作方法名称后面的URL段作为一个名为“ID”的参数。
我的StoreController中有以下代码
Function Details(id As Integer) As String
Return "Store Details, ID= " & i.ToString
End Function但是,当我输入url http://localhost:53867/store/details/5时,会得到以下服务器错误
参数字典包含非空类型'System.Int32‘的参数'i’的空项,用于'MvcMusicStore.MvcMusicStore.StoreController'.中的方法'System.String Details(Int32)‘。可选参数必须是引用类型、可空类型,或者声明为可选参数。参数名称:参数
基于上面对默认ID参数的加洛韦描述,我希望此方法将URL末尾的5作为(默认)参数。为什么它是空的?我遗漏了什么?
发布于 2012-08-08 18:02:01
在您的代码中,我注意到了一些您可能需要检查的内容。
发布于 2012-08-08 18:09:08
我不知道VB,但我确实使用了(和其他一些东西) C#。
至于您的错误,我想知道VB是如何翻译路线的?在您拥有的链接中,在获得“”之前,有一个例子是“/Store/Browse? the =Disco”。你的应用程序成功了吗?
我可能错了,但看起来这个链接将有助于解决路由问题,特别是清单4(带有可空参数的索引操作)。
其要点是..。
Function Details(ByVal id? As Integer) As String
Return "Store Details, ID= " & i.ToString
End Function...might为你工作,或者至少类似的事情。
发布于 2014-09-15 09:35:06
错误在于您将i替换为id,这只是一个拼写错误的变量名。
Function Details(ByVal id As Integer) As String
Return "Store Details, ID= " & id.ToString()
End Functionhttps://stackoverflow.com/questions/11870308
复制相似问题