我正在做MVC,并且在下拉列表中有查找值。当调用UpdateModel时,只有在更新查找之前的值,而在更新之后不调用任何值。不过,我没有收到任何错误。
我可以在我的控制器中编辑、创建和使用以下代码:
ViewData["SiteMaintenanceId"] = from m in this._siteRepository.FindAllSiteMaintenances().ToList()
select new SelectListItem
{
Text = m.Maintenance,
Value = m.SiteMaintenanceId.ToString(),
Selected = (m.SiteMaintenanceId == site.SiteMaintenanceId)
};
return View(new SiteFormViewModel(site,
this._siteRepository.FindAllSiteOperators()));我有以下观点:
<%= Html.DropDownList("SiteOperatorId")%>这似乎绑定了ok,并允许我在编辑我的下拉列表和创建作品时获得选定的值。
这是我第一次做MVC,所以非常感谢大家的帮助。
发布于 2009-08-23 07:03:35
似乎对这个问题的响应很少,所以我会尝试一下。
从文本中看,要理解问题/要求有点困难,但如果我没理解错的话,您正在尝试从下拉列表中获取一个值,对吧?如果没有,请让我知道,我将编辑此更适合。
然而,假设我是正确的;
为了设置我的下拉列表,我做了一些不同的事情。我不认为这很重要,但我想我还是要分享它。
我有一个这样的FormViewModel;
public class CalendarEventFormViewModel
{
public CalendarItem Event { get; set; }
public SelectList States;
}在我的ActionResult中,我有以下内容来提供状态;
fvm.States = new SelectList(Enumerations.EnumToList<Enumerations.AustralianStates>(), "Value", "Key", fvm.Event.state);然后,我简单地将其返回到视图。
视图中有一个下拉列表,如下所示;
<% using (Html.BeginForm()) { %>
<%=Html.DropDownList("selectedState", Model.States, new { @class="stateSelector" })%>
<%} %>所以现在我有了我的状态列表。在回发时,我想要获取选定的状态。所以..。
[AcceptVerbs(HttpVerbs.Post), ValidateInput(false), Authorize]
public ActionResult Add(FormCollection collection)
{
CalendarItem fvm = new CalendarItem();
UpdateModel(fvm);
}现在,这对我有效,CalendarItem对象中的所有字段都已填充。
然而,如果你没有得到你的价值观,你可能会想试一试;
String state = collection["selectedState"];再说一次,我不确定这是否回答了你的问题,如果没有,请在这个答案上附上评论,我会做出相应的调整。
https://stackoverflow.com/questions/1317362
复制相似问题