我可以將整個模型作爲參數傳遞給Url.Action還是類似的?MVC - 將整個模型作爲參數傳遞給javascript中的Url.Action
其實我參數傳遞給控制器和我加載模式,但我會通過整個模型
window.location.replace('@Url.Action("Search", "Search", new { idSong = Model.IDSong })');
我可以將整個模型作爲參數傳遞給Url.Action還是類似的?MVC - 將整個模型作爲參數傳遞給javascript中的Url.Action
其實我參數傳遞給控制器和我加載模式,但我會通過整個模型
window.location.replace('@Url.Action("Search", "Search", new { idSong = Model.IDSong })');
你也可以。是。
你可以通過只包含這是值類型或string
性質使用接受object
作爲第三個參數
@Url.Action("Search", "Search", Model)
你要過載一個簡單的模型?
從內部來看,該方法將根據每個屬性名稱和.ToString()
值創建一個Dictionary
並將其轉換爲查詢字符串。如果你有很多屬性,或者屬性的值包含長字符串,不僅會導致生成的url變醜,你可能會超出查詢字符串限制並拋出異常。但主要的問題是,它是複雜的對象或集合任何屬性將導致結合失敗,因爲,例如,這是List<string>
屬性會產生..?somePropertyName=System.Collections.Generic.List[string]&....
通行證只是模型的ID
像現在你這樣做,並獲得模型再次來自您的控制器中的存儲庫。
如果我們有其他參數如int和另一個字符串,並且第三個模型創建匿名對象會起作用嗎? –
@EhsanSajjad,不知道我是否理解了你的評論,但是如果你的意思是你可以做'@ Url.Action(「Search」,「Search」,new {id = 1,Model})'回傳另一個值不是模型的一部分,那麼你不能(模型成爲一個嵌套的對象,並且方法不會遞歸地爲複雜對象生成查詢字符串 - 結果將會是../Search?id = 1&Model = someAssembly.someClassName') –
那麼在這種情況下推薦的方法是什麼,如果我們有這種場景 –
你想達到什麼目的? –