ASP.NET MVC路由中的参数名称是否需要匹配其相应操作中的参数名称,如果是这样,为什么?ASP.NET MVC路由中的参数名称是否需要匹配其相应操作中的参数名称?
回答
1)是的。 2)他们会如何匹配?这两个例子都是你的名字。
不,当你创建自己的defaultmodelbinder和/或controlleractioninvoker
不,它比这更复杂。您尚未考虑操作方法选择器。回想一下,行为可能超载;如果多个操作的参数不同,多个操作可以具有相同的名称。 *能*绑定参数并不意味着你*应该* - 你可以有多个相同类型的参数。然后你必须问:询问请求中的行为是否有效时,应考虑请求中的哪些标记(QSP,表单密钥,服务器变量等)。就像我说的那样,那个名字就是你的全部名字。这是唯一在路线*和*中的行为。 – 2010-01-13 15:24:46
动作方法选择器位于控制分段调用器中,可以更改为不依赖于路径值中的“动作”值。我实际上已经完成了这个复杂但有用的目的,它的工作原理。 – Paco 2010-01-13 16:28:15
简而言之:你可以用*重大努力将“匹配”重新定义为除“等于”之外的其他含义,但*不要欺骗自己:*无论你如何做到这一点。 – 2010-01-13 16:28:19
是,bacause约定(在配置)。以这种方式开发应用程序更简单快捷:这就是ASP.NET MVC的强大功能。
确实。将会扫描RouteData集合的“值”字典中的名称与参数名称相匹配的键/值对。
在下面的操作方法“月”参数会根据输入的URL路径的{月}部分自动填充:
public ActionResult Index(string month) {
if(month == "1")
//Happy New Year!
}
- 1. MVC路由 - 参数名称问题
- 2. 无法找到与参数名称'MaxSizeGB'相匹配的参数
- 3. 的Rails 3 - 路由和参数名称
- 4. 参数名称中带有句点的MVC路由
- 5. 将ASP.NET MVC操作参数名称映射到另一个名称
- 6. 在ASP.NET MVC中加载一个从路由参数中获取其名称的局部视图是否安全?
- 7. URL路由参数名称,订单
- 8. MVC中的不同参数名称
- 9. ASP.Net MVC路由动作名称冲突
- 10. 在ASP.NET MVC中获取路由名称
- 11. 转换由名称参数
- 12. 的参数无法找到匹配的参数名称“Searchbase”
- 13. 具有重要名称的WSDL中的参数名称
- 14. 名为'Billing_Default'的路由已经在路由集合中。路由名称必须是唯一的。参数名称:名称
- 15. 没有控制器或操作名称的Asp.net mvc路由
- 16. 的JavaScript document.getElementsByName()参数匹配输入的名称作为数组
- 17. MVC路由 - 参数和控制器名称之间的冲突
- 18. 找不到与参数名称'User'匹配的参数
- 19. Set-AzureSubscription:找不到与参数名称'DefaultSubscription'匹配的参数
- 20. 错误:名为'signalr.hubs'的路由已经在路由集合中。路由名称必须是唯一的。参数名称:名称
- 21. 执行POST时,是否需要编写表单参数名称?
- 22. 代表参数是否需要匹配事件签名?
- 23. PowerShell v4 Get-Content:找不到与参数名称'Delimiter'相匹配的参数
- 24. 参数动作名称
- 25. 定义函数时,参数的名称是否重要?
- 26. Rails路由与:名称,而不是:ID的url参数
- 27. PersistenceConstructor参数变量名称不匹配的实例变量名
- 28. ASP.Net MVC:在不同控制器中的相同操作名称
- 29. 解析呈现的MVC网址到控制器名称,操作名称和参数名称
- 30. xsl:名称由参数提供的calltemplate
我想他们可能匹配基础上的位置,但显然这不可能。我将不得不认为这一个通过... – Ben 2010-01-13 14:50:57