2

MVC를 수행하고 드롭 다운 목록에서 조회 값을 지정합니다. 조회를 업데이트하기 전에 UpdateModel을 호출 할 때는 값만 업데이트하고 아무 것도 호출하지 않습니다. 그래도 오류는 발생하지 않습니다.MVC - UpdateModel 및 DropDownLists

내가 편집하고 만들어 내 cintroller에 다음 코드를 사용할 수 있습니다.

을 ViewData [ "SiteMaintenanceId"] = this._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를 처음 시작한 것이므로 도움을 주시면 감사하겠습니다.

답변

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"]; 

는 다시, 나는 확실 해요 그것은이 답변에 코멘트를 첨부하시기 바랍니다하지 않을 경우 나는 그에 따라 조정됩니다.