2014-09-01 4 views
0

이것은 내가 뭘하려 :조건부 활성화/비활성화 asp.net MVC 텍스트 상자

@Html.TextBoxFor(model => model.EntryDate, new { style="width:90px;",((_new || _modify) ? @disabled="disabled":"") }) @Html.ValidationMessageFor(model => model.EntryDate) 
+0

캔트 당신은 그냥 @if 사용 "은에에 간단하고 우아한 방법") {@ Html.TextBo (모델 => model.EntryDate)} else {@ Html.TextBoxFor (model => model.EntryDate, new {@disabled = "disabled")} –

+0

글쎄, 거기에 간단하고 우아한 방법이 있기를 바랬다 – POIR

+0

OK, 응답을 게시합니다 –

답변

0

나는 확실하지 않다 그러나 노력이 하나

@Html.TextBoxFor(model => model.EntryDate, (_new || _modify) ? new{ @Style="width:90px;", @Disabled="disabled"} : new{ @Style="width:90px;"}) 
+0

이러한 익명 형식이 호환 가능합니까? 테스트 해 봤어? – Charleh

1

하나가 있기 때문에 다음은 작동합니다 html 속성

@Html.TextBoxFor(m => m.EntryDate, (_new || _modify) 
    ? new { @disabled = "disabled" } 
    : null) 

그러나 일단 스타일 속성을 추가하면 암시 적 변환이 없으므로 오류가 발생합니다. 트윈 new { @disabled = "disabled", @Style="width:90px;" }new { @Style="width:90px;" }은 그래서 당신은 object 할 HTML 사전이 작동하는 것 같다 주조 if 블록

@if(_new || _modify) { 
    @Html.TextBoxFor(m => m.EntryDate, new { @disabled = "disabled", style="width:90px;")} 
} else { 
    @Html.TextBoxFor(m => m.EntryDate, new { style="width:90px;" }) 
} 

편집

에서이 작업을 수행 할 필요가 있지만, 나는 완전히이 테스트 적이 없다 (그리고 난 확실하지 자사의 comeCondition ()

@Html.TextBoxFor(m => m.EntryDate, (_new || _modify) 
    ? (object)new { @disabled = "disabled", style="width:90px;" } 
    : (object)new { style="width:90px;" }) 
관련 문제