我有一個綁定到我的模型中的列表的下拉列表。 Model.list_IDs
在沒有FormMethod.Post的Dropdownlist中獲取SelectedItem
當前頁面是一個「編輯」頁面,用戶可以使用下拉列表固有地更改模型的屬性。
@Html.DropDownListFor(model => Model.ID, Model.list_IDs, new { style = "width:250px" })
的下拉列表中的項目是不直觀的,所以我想提供一個按鈕,該按鈕時,(通過稱爲GetDetails
的方法從控制器調用)
這個按鈕是通過一個動作鏈接創建的,我打算顯示一個局部視圖(就像一個聚焦的彈出窗口),一旦點擊按鈕就會顯示附加信息。
@Html.ActionLink(" ", "GetDetails", new { id = Model.ID.ToString() }, new { @class = "lnkMagnify16", title = "View Details" })
顯然Model.ID.ToString()
是不正確的,因爲它只會發送模式的電流ID,而不是目前在下拉列表中選擇的ID。
如何更改Model.ID.ToString()
以表示下拉列表的當前選定項目?
我知道有一種方法可以使用FormMethod.Post(Get selected item in DropDownList ASP.NET MVC)來做到這一點,但我不想用提交按鈕重新加載頁面。如果可能,我還想避免使用JavaScript等「第三方」方法。
感謝您的詳細回覆。但是,我沒有試圖動態更新Model.ID值。可以這樣想:作爲用戶,您希望在下拉列表中看到您當前選擇的ID的詳細信息,但尚未影響模型ID。我已經有了更新模型的代碼。我只是試圖獲取用戶在下拉列表中選擇的項目的數據,以便他們可以確保自己是他們選擇的正確ID。 單擊激活GetDetails的鏈接只是向用戶顯示更多關於他們將要在模型中更改的ID的信息。 – blacksaibot
這就是*正是你想要做的。您需要選擇的ID *,因爲用戶選擇它*。這意味着它發生在客戶端,所以你只能得到客戶端的信息。這意味着使用JavaScript。沒有其他辦法。 –
哦,好的。我現在明白了。謝謝。 – blacksaibot