我有一个绑定到我的模型中的列表的下拉列表。 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