:이 사용 아약스를 처리해야 할 수도 있습니다 모델을 다시보기로 되돌리기 전에 모델로 가져옵니다.
귀하의 게시물에 Model.StateProvinces
을 채우고보기로 전달해야합니다. ViewState
에 DropDownList
항목을 유지하고 다시 작성하는 WebForms와 달리 값만 유지됩니다.
Best way of implementing DropDownList in ASP.NET MVC 2?
: 일부 사용이 될 수도 다시는 드롭 다운 목록을 처리하는 방법을 설명하는 데 도움이하는 동안 실제로 질문 a를 요청
// POST: /YourController/YourAction/{ID}
[HttpPost]
public ActionResult YourAction(YourModel model, int id)
{
// model.StateProvinceId has the selected value
// you need to fill StateProvinces since it is empty as the list is not posted
// back so it is not autofilled into your model.
model.StateProvinces = LoadYourStateProvincesList();
// This would blow up if StateProvinces is null because your View is assuming that
// it has a valid list of StateProvinces in it to build the DropDown
return View(model);
}
:
그래서 컨트롤러를 가정하는 것은 뭔가처럼 보인다
편집 : 귀하의 의견에 따라 첫 번째 목록을 얻지도 못했지만 모델 설정이 올바로되어 있지 않은 것 같습니다. 당신도 모델이 있습니까? 작성한 모델 데이터가없는 View()
이 반환됩니다. 모델을 만들어 반환해야합니다.
예 : 양식이 다시 게시 할 때 예를 번째 I는 POST 부분에 대한 위의 게시와 같은 MVC는 모델에 값을 물건 때문에이 값을 검색 할 수 있도록
public class YourModel
{
public int StateProvinceId { get; set; }
/// ... whatever else you need
}
// Then in your view your controller you need to set it and create it
View(new YourModel() { StateProvinceId = 123 };);
당신은 모델이 필요합니다.
편집 : 이제는 원래의 질문보다 훨씬 명확하고 명확한 질문입니다.당신이 가지고
SelectList theList = new SelectList(stateProvinces, "Value", "Text");
를 원래의 질문에 : 완전히 정확했다
<%: Html.DropDownListFor(model => model.StateProvinceId, new SelectList(Model.StateProvinces, "StateProvinceId", "Name"))%>
하지만 당신이 어떻게 구축 된 한 Model.StateProvinces을 문제는 selectList의 요구가 어디에 넣어 어떤 필드 말할 것입니다 그건 틀렸어 그래서 뭔가 다른 생각이 들었다.
작업 : :
public ActionResult Create()
{
var dbTimecard = new TimecardDbDataContext();
IEnumerable<SelectListItem> stateProvinces = dbTimecard.StateProvinces.Select(p => new SelectListItem
{
Value = p.StateProvinceId.ToString(),
Text = p.Name
});
ViewData["StateProvince"] = stateProvinces;
return View();
}
보기 :
<div class="editor-field">
<%: Html.DropDownListFor(model => model.StateProvinceId, (IEnumerable<SelectListItem>)ViewData["StateProvince"])%>
<%: Html.ValidationMessageFor(model => model.StateProvinceId) %>
</div>
은 실제로 개체로 채워진 Model.StateProvinces이며 StateProvinceId에는 null이 아닌 값이 포함되어 있으며 모델은 = null입니까? – Michel
조치를 표시 할 수 있습니까? –
좋아, Create는 당신의 GET이라고 가정합니다 ... 게시물을 처리하고 결과를 반환하는 코드는 어디에 있습니까? 그것이 문제라고 생각하고 ViewData가 호출간에 유지되지 않지만 완전히 질문을 오해 할 수 있습니다. 초기로드시 또는 결과를 게시하고보기를 다시 작성하는 중 문제가 있습니까? – Kelsey