2016-08-09 80 views
0

我想通過我的模型到Url.Action如何通過引用類型爲Url.Action

@Model FilterVm 
@Url.Action("Index", "Home", new { filter = @Model }) 

但是當我的方法被調用時,我得到了參數

public ActionResult Index (FilterVm filter) 

總是空如何將我的模型作爲Url.Action中的參數傳遞?

+0

什麼是指數行動簽名?它需要什麼參數? – Christos

+0

請閱讀第5行中的問題 –

+0

僅僅是@ @ Url.Action(「Index」,「Home」,new {Model})',但它只有在模型只包含簡單屬性時纔有效(集合的複雜屬性將不會綁定) –

回答

2

您需要分別傳遞模型的所有字段。 例如,如果你的模型包含2個字段的名稱和ID Url.Action必須

@Url.Action("Index", "Home", new { Name=Model.Name, Id=Model.Id }) 

而且模型聲明在你看來需要小寫

@model FilterVm 
+1

你不需要單獨傳遞它們。 '@ Url.Action(「Index」,「Home」,new {Model}'很好, –

+0

非常感謝,不幸的是我不能給你一個滿意的答案,因爲我需要15個聲望,但是也許我能夠做到這一點後來 –

+0

我現在可以做了,再次感謝 –