True/False 값을 sqlserver 비트 필드 (Featured
)로 저장하는 테이블이 있습니다. 첫째, 수동으로 이외의 드롭 다운 목록을 생성하는 더 좋은 방법이 있습니까?MVC2의 단순 DropDownListFor?
둘째, 지금까지 내가 작동하지만 작동하지 않지만 DDL의 모든 항목에 selected="selected"
을 추가하지 않았습니다.
편집 1 : 제안 나는 대답에 따라이 예제를 업데이 트했습니다 그리고 런타임 오류 :( 편집 2 결과 : 함수가 (와 캐스트없이) 작동처럼 사용 하지만 여전히 추가되지 않는 "선택"= 선택
모델 :.
//
// View models
public class SpotlightFormViewModel
{
// props
public Spotlight Spotlight { get; private set; }
public SelectList FeaturedMenu { get; private set; }
static IDictionary<string, int> feature = new Dictionary<string, int>(){
{"True", 1},
{"False", 0},
};
public IEnumerable<SelectListItem> FeaturedChoices(Spotlight spotlight)
{
return feature.Select(f => new SelectListItem
{
Text = f.Key,
Value = f.Value.ToString(),
Selected = spotlight.Featured,
});
}
// constr
public SpotlightFormViewModel(Spotlight spotlight)
{
Spotlight = spotlight;
FeaturedMenu = new SelectList(FeaturedChoices(spotlight));
}
}
컨트롤러 :
public ActionResult Edit(int id)
{
Spotlight spotlight = spotlightRepository.GetSpotlight(id);
return View(new SpotlightFormViewModel(spotlight));
}
보기 :
<div class="editor-label">
<%: Html.LabelFor(model => model.Spotlight.Featured) %>
</div>
<div class="editor-field">
<%: Html.DropDownListFor(model => model.FeaturedMenu, Model.FeaturedChoices(Model.Spotlight))%>
<%: Html.ValidationMessageFor(model => model.Spotlight.Featured) %>
</div>
당신이 그것을 알아 낸 것을 기쁘게 생각합니다 –
도움을 주셔서 감사합니다 :). MVC를 사용하여 wysiwyg 편집기를 구현 한 블로그 수정 사항을 확인했습니다. 일단 내 viewmodels를 통과하면 CKEdit을 구현하려고합니다. 우리는 무슨 일이 일어날 지 알 것이다. – ryan