在我的ASP.NET MVC 4項目我有了這片景觀:如何將SelectList的選定值傳遞給我的操作?
<td>
@Html.DropDownList("SelectedValue", ViewBag.SoftwaresList as SelectList, "Add New Software")
</td>
<td>
No Description
</td>
<td>
@Html.ActionLink("Add", "AddSoftware", new { pDeviceId = Model.Id, pSoftwareId = Model.SelectedValue})
</td>
我的模型對象屬性「的SelectedValue」。我想要做的是,當用戶單擊鏈接添加時,我傳遞設備ID(工作正常,因爲這是直接從傳遞到視圖的模型)和DropDownList中的選定ID。 DropDownList是一個不同Model的集合,但它也包含一個Id。
我已經試過,沒有運氣以下:
@Html.ActionLink("Add", "AddSoftware", new { pDeviceId = Model.Id, pSoftwareId =
((ViewBag.SoftwaresList as SelectList).SelectedValue as SoftwareModel).Id})
值得一提的是:該DropDownList中填充了我SoftwareModel的正確,但是,我有沒有運氣通過從所選擇的價值附加價值到控制器中的行動。
事實上,我在Chrome中看到懸停的是:
someURL \ AController \ AddSoftware pDeviceId = 2
在那裏我會想到它是這樣的:?
someURL \ AController \ AddSoftware?pDeviceId = 2 & pSoftwareId = 5
我已經更改了上面的代碼以適合我,但是當我添加新的{pDeviceId = Model.Id,pSoftwareId = Model.SelectedValue}時,Action參數始終會以-1作爲SelectedValue。就好像DropDownList永遠不會正確設置SElectedValue? – Tada