在 MVC4 中是否有任何可用于下拉列表的事件,如 onChange 等?我们是否必须使用 Javascript/jQuery 来进行 DropwowlistSelectedItemChanged 等操作?还是只有使用 Razor 或 MVC4 功能的方法?
另一方面,您能否给我一些示例,如何根据下拉列表选定值检索数据并使用此数据更改标签的文本?例如,当从下拉列表中选择一个城市时,我想通过使用选定的城市 id 从数据库中获取地址数据,然后在标签上显示检索到的地址。如果您就上述问题向我澄清并给我一个例子来实现这一点,我将不胜感激。
控制器:
private void PopulateMeetingsDropDownList(object selectedMeetings = null)
{
var meetingsQuery = repository.Meetings
.Join(repository.Cities, m => m.MeetingCityId, c => c.CityID,
(m, c) => new
{
CityID = c.CityID,
CityName = c.CityName,
MeetingDate = m.MeetingStartDate
}
)
.OrderBy(x => x.CityID)
.AsEnumerable()
.Select(
i => new
{
CityID = i.CityID,
DisplayValue = string.Format(
"{0} ({1:dd MMMM yyyy})",
i.CityName, i.MeetingDate)
}
).ToList();
ViewData["MeetingId"] = new SelectList(meetingsQuery, "CityID", "DisplayValue", selectedMeetings);
}
看法:
<label>Meeting</label>
@Html.DropDownListFor(m => m.MeetingId, ViewData["MeetingId"] as SelectList,"---- Select ----", new { name = "meetingId", id = "meetingId"})