asp.net MVC에서 버그가있는 것처럼 보였습니다. 또는 단순히 잘못된 것을하고 있습니다. 현재 1.0을 사용 중이므로 2.0 릴리스에서 해결 될 수 있습니다. 그러나 어느 쪽이든, 여기에 우리가 간다.DropDownList asp.net MVC에서 선택된 항목 설정 MVC
내보기 모델에 드롭 다운 목록의 선언 된 ID와 같은 이름의 속성이있는 경우 선택한 항목이 무시되고 렌더링 된 HTML에는 아무 것도 선택되어 있지 않습니다. 내가 잘못했는지 알 수 없지만 ID의 이름을 변경하면 문제가 해결됩니다. 나는 예제를 단순화했다. 분명히하기를 바란다. 그렇지 않다면 나에게 알려주기 바란다. 선언 된 ID가 내 모델의 목록과 같은 이름입니다 여기에
내이다 :
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<%= Html.DropDownList("IsMultipleServicers", Model.IsMultipleServicers) %>
</td>
</tr>
</table>
그리고 렌더링 된 HTML이
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<select id="IsMultipleServicers" name="IsMultipleServicers">
<option value="false">No</option>
<option value="true">Yes</option>
</select>
</td>
</tr>
</table>
는 이제 할 수 있습니다 작은 변화. 신고 된 ID를 다른 것으로 변경합니다. 이제 렌더링 된 HTML
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<%= Html.DropDownList("MultipleServicers", Model.IsMultipleServicers) %>
</td>
</tr>
</table>
: 그리고 지금은 목록에서 두 번째 요소가 될 것입니다 선택한 옵션을 얻을
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<select id="IsMultipleServicers" name="IsMultipleServicers">
<option value="false">No</option>
<option selected="selected" value="true">Yes</option>
</select>
</td>
</tr>
</table>
공지 사항
여기 내보기입니다. 여기
내 ViewModel을 그냥 모든 것을 함께 묶어하는 것입니다 : 여기
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MVCProject.Models.ViewModels.Service
{
public class ServiceViewModel : ViewModel
{
public List<SelectListItem> IsMultipleServicers { get; set; }
}
}
내 작업입니다 :
[AcceptVerbs(HttpVerbs.Get)]
public virtual ActionResult Service()
{
return View(new ServiceViewModel()
{
IsMultipleServicers = BuildBooleanSelectList(true)
};
}
private List<SelectListItem> BuildBooleanSelectList(bool isTrue)
{
List<SelectListItem> list = new List<SelectListItem>();
if (isTrue)
{
list.Add(new SelectListItem() { Selected = false, Text = "No", Value = "false" });
list.Add(new SelectListItem() { Selected = true, Text = "Yes", Value = "true" });
}
else
{
list.Add(new SelectListItem() { Selected = true, Text = "No", Value = "false" });
list.Add(new SelectListItem() { Selected = false, Text = "Yes", Value = "true" });
}
return list;
}
나는 이것이 더 명백했으면 좋겠어.하지만 지금은 이해가된다. 감사합니다 – ppumkin
나는 이것 모두를 추천합니다 : http://www.c-sharpcorner.com/UploadFile/4d9083/creating-simple-cascading-dropdownlist-in-mvc-4-using-razor/ – Umitk