2

Я делаю MVC и имею переменные в выпадающих списках. При вызове UpdateModel значения только до того, как поисковые запросы будут обновляться и ничего более неактуальны. Однако я не получаю ошибок.MVC - UpdateModel и DropDownLists

можно редактировать и создавать и использовать следующий код в моем cintroller:.

ViewData [ "SiteMaintenanceId"] = от т в 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())); 

На мой взгляд, у меня есть следующее:

Это похоже на привязку ok и позволяет мне получить выбранное значение при редактировании моего раскрывающегося списка и создавать работы.

Это мой первый раз, когда делаю MVC, поэтому любая помощь очень ценится.

ответ

1

Похоже, что ответа на этот запрос очень мало, поэтому я попробую свою руку.

Из текста немного сложно понять проблему/требование, но если я правильно вас понимаю, вы пытаетесь вернуть значение из раскрывающегося списка справа? Если не дайте мне знать, и я отредактирую это для лучшей подгонки.

Предполагая, что я прав;

Чтобы настроить мой раскрывающийся список, я делаю что-то совсем другое. Я не думаю, что это важно, но я думал, что поделюсь ею.

У меня есть FormViewModel, как это;

public class CalendarEventFormViewModel 
{ 
    public CalendarItem Event { get; set; } 
    public SelectList States; 
} 

В моем Решении о действиях У меня есть следующее, чтобы предоставить государствам;

fvm.States = new SelectList(Enumerations.EnumToList<Enumerations.AustralianStates>(), "Value", "Key", fvm.Event.state); 

Затем я просто возвращаю это на вид.

Вид имеет такое же падение;

<% using (Html.BeginForm()) { %> 
    <%=Html.DropDownList("selectedState", Model.States, new { @class="stateSelector" })%> 
<%} %> 

Итак, теперь у меня есть список штатов. В postback я хочу получить выбранное состояние. Так что ...

[AcceptVerbs(HttpVerbs.Post), ValidateInput(false), Authorize] 
public ActionResult Add(FormCollection collection) 
{ 
    CalendarItem fvm = new CalendarItem(); 
    UpdateModel(fvm); 
} 

Теперь это работает для меня, и все поля в пределах объекта CalendarItem заполняются

Однако, если вы не получаете ваши ценности вы можете попробовать.

String state = collection["selectedState"]; 

Опять же, я не уверен, если это отвечает на ваш запрос, и если он не приложите, пожалуйста, комментарий к этому ответу, и я буду корректировать соответствующим образом.