我在做一些可能很简单的事情时遇到了麻烦!
我有一个股票清单,由1)一个带参数的简单表格(\索引)和2)一个叫做部分视图的ajax显示股票清单(基于参数)。
在同一个简单的表格(\索引)上,我有一个“添加股票”方法的操作链接,该方法调用另一个表格来添加股票。
当用户完成添加库存后,我将它们重定向回库存清单页面(\索引)。
我的问题是我想“记住”最初在此表单中输入的参数,因此用户不仅仅被定向回具有空白参数的页面,迫使他们再次输入这些参数。
我认为我可以简单地重载Index方法:
Function Index() As ActionResult
Return View(New Stock_ViewModel)
End Function
Function Index(ByVal svm As Stock_ViewModel) As ActionResult
Return View(svm)
End Function
我收到此错误:The current request for action 'Index' on controller type 'StockController' is ambiguous between the following action methods:...
现在我已经阅读了this post并且答案是答案,但我无法弄清楚如何实施解决方案。
此解决方案适用于我的情况吗?有没有更好的方法来实现我想要做的事情?
提前感谢您的帮助!
答案 0 :(得分:3)
你需要像这样装饰你的方法:
Function Index() As ActionResult
Return View(New Stock_ViewModel)
End Function
<RequireRouteValues("svm")> _
Function Index(ByVal svm As Stock_ViewModel) As ActionResult
Return View(svm)
End Function
答案 1 :(得分:0)
看来他的问题比你的问题复杂得多。您应该能够使用Levi创建的RequiredRequestValue属性,而不是他创建的RequiredRouteValues类。
你必须自己转换为vb.net,但要坚持Levi的答案,而不是修改路线。
詹姆斯