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