Html.TextBoxFor를 사용할 때 텍스트 상자를 읽기 전용으로 설정할 수 있습니까?
Html.TextBoxFor식이있는 다음 태그가 있고 내용을 읽기 전용으로 만들고 싶습니다. 가능합니까?
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action)%>
주석에서 @ 1c1cle의 제안에 따라 최신 버전의 .NET 용으로 업데이트되었습니다.
<%= Html.TextBoxFor(model => Model.SomeFieldName, new {{"readonly", "true"}}) %>
누군가가 이것을 변경하기 위해 자바 스크립트를 주입 할 수 있기 때문에 이것이 "안전한"방법이 아니라는 것을 인식하십시오.
주의해야 할 점은이 readonly
값을로 설정 false
하면 실제로 동작의 변화를 볼 수 없다는 것입니다! 따라서 변수를 기반으로이를 구동해야하는 경우 해당 변수를 단순히 거기에 연결할 수 없습니다. 대신 조건부 논리를 사용하여 해당 readonly
속성을 전달하지 않아야 합니다.
다음은이를 수행하는 방법에 대한 테스트되지 않은 제안입니다 (문제가있는 경우 언제든지 if / else를 수행 할 수 있습니다).
<%= Html.TextBoxFor(model => Model.SomeFieldName, shouldBeReadOnlyBoolean ? new {{"readonly", "true"}} : null) %>
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @readonly = true })%>
다음을 사용하십시오.
@Html.TextBoxFor(m => m.Whatever, new {@readonly = "readonly"})
클래스를 할당하려면 @class = ""속성을 추가하여 동일한 방식으로 수행 할 수 있습니다. 도움이 되었기를 바랍니다 :)
읽기 전용으로 만들려면
@Html.TextBoxFor(m=> m.Total, new {@class ="form-control", @readonly="true"})
죽기 위해
@Html.TextBoxFor(m=> m.Total, new {@class ="form-control", @disabled="true"})
<%= Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new {readonly=true})%>
다음 스 니펫이 저에게 효과적이었습니다.
@Html.TextBoxFor(m => m.Crown, new { id = "", @style = "padding-left:5px", @readonly = "true" })
<%: Html.TextBoxFor(m => Model.Events.Subscribed[i].Action, new { @autocomplete = "off", @readonly=true})%>
여러 속성을 설정하는 방법입니다.
이 작품은 ...
@Html.TextBoxFor(model => model.RIF, new { value = @Model.RIF, @readonly = "readonly" })
다른 가능성 :
<%= Html.TextBoxFor(model => Model.SomeFieldName, new Dictionary<string, object>(){{"disabled", "true"}}) %>
@Hunter의 예제를 사용하여 새로운 {..} 부분에 readonly = true를 추가하면 작동 할 것이라고 생각합니다.
실제로 Brain Mains의 대답은 거의 정확합니다.
@Html.TextBoxFor(model => model.RIF, new { value = @Model.RIF, @readonly = true })
사용자 정의 클래스를 적용해야하는 경우 사용할 수 있습니다.
@Html.TextBoxFor(m => m.Birthday, new Dictionary<string, object>() { {"readonly", "true"}, {"class", "commonField"} } )
어디
commonField 는 CSS 클래스입니다.
그리고 Birthday 는 아마도 jQuery Datapicker
날짜 를 유지하는 데 사용할 수있는 문자열 필드 일 수 있습니다. :)
<script>
$(function () {
$("#Birthday").datepicker({
});
});
</script>
그것은 실제 생활의 예입니다.
readonly 속성을 true 또는 false로 설정하면 대부분의 브라우저에서 작동하지 않습니다. 페이지의 모드가 "reload"일 때 "readonly"속성을 포함하지 않았습니다.
@if(Model.Mode.Equals("edit")){
@Html.TextAreaFor(model => Model.Content.Data, new { id = "modEditor", @readonly = moduleEditModel.Content.ReadOnly, @style = "width:99%; height:360px;" })
}
@if (Model.Mode.Equals("reload")){
@Html.TextAreaFor(model => Model.Content.Data, new { id = "modEditor", @style = "width:99%; height:360px;" })}
@Html.TextBoxFor(model => model.IdUsuario, new { @Value = "" + User.Identity.GetUserId() + "", @disabled = "true" })
@disabled = "true"
잘 작동
TextBoxFor를 비활성화 할 수도 있습니다.
@Html.TextBoxFor(x=>x.day, null, new { @class = "form-control success" ,@disabled="disabled" })
'development' 카테고리의 다른 글
"잘못된 토큰"오류를 제공하는 Asp.NET Identity 2 (0) | 2020.12.31 |
---|---|
안드로이드의 편집 텍스트에서 신용 카드 포맷 (0) | 2020.12.31 |
데이터가 R에 정규 분포되어 있는지 확인 (0) | 2020.12.31 |
이전 편집 위치로 돌아가는 방법 (0) | 2020.12.31 |
/ sdcard에 디렉토리 생성 실패 (0) | 2020.12.31 |