죄송합니다. 이것이 중복이라면 내 검색이 나타나지 않았습니다. (: http://addinit.com/?q=node/54를 여기에서 해제) :ASP.net의 열거 형에서 드롭 다운 목록의 선택된 항목 MVC
나는 열거 유형에 대한 드롭 다운 목록을 생성하기 위해 다음과 같은 방법을 사용하고 그것은 한 가지를 제외하고 잘 작동
public static string DropDownList(this HtmlHelper helper, string name, Type type, object selected)
{
if (!type.IsEnum)
throw new ArgumentException("Type is not an enum.");
if(selected != null && selected.GetType() != type)
throw new ArgumentException("Selected object is not " + type.ToString());
var enums = new List<SelectListItem>();
foreach (int value in Enum.GetValues(type))
{
var item = new SelectListItem();
item.Value = value.ToString();
item.Text = Enum.GetName(type, value);
if(selected != null)
item.Selected = (int)selected == value;
enums.Add(item);
}
return System.Web.Mvc.Html.SelectExtensions.DropDownList(helper, name, enums, "--Select--");
}
. 드롭 다운 목록에 내 모델의 속성과 동일한 이름을 지정하면 선택한 값이 제대로 설정되지 않습니다.
<%= Html.DropDownList("fam", typeof(EnumFamily), Model.Family)%>
을하지만이되지 않습니다 : 의미이 작품
<%= Html.DropDownList("family", typeof(EnumFamily), Model.Family)%>
난에 게시하고있는 컨트롤러 메소드에 직접 전체 개체를 전달할 시도하고 있기 때문에, 나는 것 정말 같은 모델의 속성에 지정된 드롭 다운 목록을 갖습니다. "오른쪽"이름을 사용할 때 드롭 다운이 올바르게 게시되지 않고 선택한 값을 설정하지 못하는 것 같습니다.
나는이 문제를 생각하지 않는다 그러나 나는 모노에 MVC 1을 실행하고 2.6
편집 : 난 그냥 창에서이 테스트를하고,이하지 않는 내가 같은 동작
나는 똑같은 행동을 보았고 다른 이름의 드롭 다운 목록을 사용하여 해결했다. – Nate