컨트롤러 속성 : 나는 아이디 + 이름을 사용하지 않는편집 Html.DropDownList 작동하지 않습니다와 @class는
ViewBag.Category = new SelectList(this.service.GetAllCategories(), product.Category);
. GetAllCategories()는 여러 int 수만 반환합니다.
내가보기에 사용하는 경우 :
@Html.DropDownList("Category", String.Empty)
모든 작동합니다. 편집은 정상이며 DropDownList는 선택된 값을 보여줍니다. HTML 결과 : 나는 CSS를 사용할 필요가 @class 그래서 나는이 코드를 사용
<select id="Category" name="Category">
<option value=""></option>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option selected="selected">5</option>
...
</select>
그러나 :
@Html.DropDownList("Category", (IEnumerable<SelectListItem>)ViewBag.Category, new { @class = "anything" })
HTML 결과 : 불행하게도
<select class="anything" id="Category" name="Category">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
...
</select>
는, 편집은 여전히 (내가 할 수있는 일 내가 선택한 값을 저장하십시오) 그러나 DropDownList는 데이터베이스에 저장된 값이 아닌 기본값을 표시하기 시작합니다.
어떤 문제가 있다고 생각하십니까?
업데이트 더 정확한 업데이트를했습니다.
메소드 GetAllCategories
은 다음과 같습니다public List<int> GetAllCategories()
{
List<int> categories = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
return categories;
}
당신은 남자입니다. 나는 완전히 null 가능성을 간과했다 (그것은 "codeblindness"와 같은 것이어야한다 ;-). @ Html.DropDownList ("Category", null, new {@class = "anything"})는 문제를 해결합니다. – nubm