我正在做MVC并在下拉列表中有查找值。在查找更新之前仅调用UpdateModel值而不调用afyer。我没有遇到任何错误。
我可以在我的cintroller中编辑和创建并使用以下代码:
ViewData [“SiteMaintenanceId”] =来自此./siteRepository.FindAllSiteMaintenances()中的m。ToList()
select new SelectListItem
{
Text = m.Maintenance,
Value = m.SiteMaintenanceId.ToString(),
Selected = (m.SiteMaintenanceId == site.SiteMaintenanceId)
};
return View(new SiteFormViewModel(site,
this._siteRepository.FindAllSiteOperators()));
我认为我有以下内容:
这似乎绑定好,允许我在编辑我的下拉菜单时获得所选值并创建作品。
这是我第一次做MVC所以任何帮助都非常感激。
答案 0 :(得分:1)
似乎对此查询的回复非常少,所以我会亲自动手。
从文本中可以理解问题/要求有点困难,但如果我理解正确,你试图从下拉列表中取回一个值吗?如果没有让我知道,我会编辑它以便更好地适应。
假设我是正确的;
要设置我的下拉列表,我会做一些不同的事情。我认为这不重要,但我认为无论如何我都会分享它。
我有像这样的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"];
同样,我不确定这是否可以回答您的查询,如果没有,请在此答案中附上评论,我会相应调整。