mvc의 모델 속성에 따라 드롭 다운 목록 활성화 비활성화

Tanuj Shrivastava

모델 속성을 기반으로 내 mvc 응용 프로그램에서 드롭 다운 목록을 비활성화하거나 활성화하려고합니다.

내가하는 일은 :-

@Html.DropDownListFor(m => m.ParentOrganisationID, new SelectList(Model.ParentOrganisations, "ID", "Name", Model.ParentOrganisationID), new { @id = "ddlParentOrganisations", @class = "form-control css-select", @disabled = Model.IsReadOnly ? "disabled" : "false", @style = "width:40%; height:10%;" })

그러나 모델 속성 "model.IsReadOnly"가 false 인 경우에도 드롭 다운이 비활성화 된 것으로 표시됩니다.

자바 스크립트를 사용하지 않고이를 처리하는 방법을 제안하십시오.

미리 감사드립니다

수주

DropDownListForhtml 속성에 대한 개체를 예상하는 c # 코드 줄 (if 조건 포함)을 전달할 수 없기 때문에 도우미 메서드 호출 내에 조건 (if / ternary 문)을 포함 할 수 없습니다. 또한 아래의 모든 마크 업은 비활성화 된 SELECT를 렌더링합니다.

<select disabled></select>
<select disabled="disabled"></select>
<select disabled="false"></select>
<select disabled="no"></select>
<select disabled="usingJqueryEnablePlugin"></select>
<select disabled="enabled"></select>

if 조건으로 Model 속성의 값을 확인하고 비활성화 된 버전을 조건부로 렌더링 할 수 있습니다.

@if (!Model.IsReadOnly)
{
    @Html.DropDownListFor(s => s.ParentOrganisationID, 
                               new SelectList(Model.ParentOrganisations, "ID", "Name"))
}
else
{
    @Html.DropDownListFor(s => s.ParentOrganisationID, 
       new SelectList(Model.ParentOrganisations, "ID", "Name"),new {disabled="disabled"})
}

if 조건 검사를 처리하는 사용자 지정 html 도우미 메서드를 만드는 것을 고려할 수 있습니다.

public static class DropDownHelper
{
    public static MvcHtmlString MyDropDownListFor<TModel, TProperty>
                 (this HtmlHelper<TModel> htmlHelper, 
                  Expression<Func<TModel, TProperty>> expression,
                  IEnumerable<SelectListItem> selectItems,
                  object htmlAttributes,
                  bool isDisabled = false)
    {
        ModelMetadata metadata = ModelMetadata.FromLambdaExpression(expression,
                                                                    htmlHelper.ViewData);

        IEnumerable<SelectListItem> items =
            selectItems.Select(value => new SelectListItem
            {
                Text = value.Text,
                Value = value.Value,
                Selected = value.Equals(metadata.Model)
            });
        var attributes = HtmlHelper.AnonymousObjectToHtmlAttributes(htmlAttributes);
        if (isDisabled && !attributes.ContainsKey("disabled"))
        {
             attributes.Add("disabled", "disabled");
        }
        return htmlHelper.DropDownListFor(expression,items, attributes);
    }
}

이제 면도기보기에서이 도우미를 호출합니다.

@Html.MyDropDownListFor(s=>s.ParentOrganisationID,
               new SelectList(Model.ParentOrganisations, "ID", "Name")
                                           ,new { @class="myClass"},Model.IsReadOnly)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

드롭 다운 목록 활성화 및 비활성화

분류에서Dev

드롭 다운 목록의 활성화 /로드에 따라 완료 여부 에이블

분류에서Dev

AngularJS 변수에 따라 드롭 다운 활성화 / 비활성화

분류에서Dev

asp.net mvc 드롭 다운 목록 옵션 비활성화 선택

분류에서Dev

jquery의 첫 번째 드롭 다운 목록을 기반으로 드롭 다운 목록 비활성화

분류에서Dev

Spinner 드롭 다운 목록을 활성화 / 비활성화하는 방법

분류에서Dev

KendoUI 드롭 다운 목록 옵션 비활성화

분류에서Dev

다른 드롭 다운 목록에서 특정 조건에 대한 드롭 다운 목록 비활성화

분류에서Dev

자바 스크립트에서 드롭 다운 목록 비활성화

분류에서Dev

확인란과 관련하여 드롭 다운 목록 비활성화 활성화

분류에서Dev

Flutter-드롭 다운-항목-비활성화?

분류에서Dev

다른 드롭 다운 값을 기반으로하는 ASP.NET 비활성화 드롭 다운 목록

분류에서Dev

IE11의 문서 모드 드롭 다운이 비활성화되어 있습니다. 활성화 할 수있는 방법이 있습니까?

분류에서Dev

라디오 버튼을 특정 클릭하면 jquery를 사용하여 mvc에서 텍스트 상자 / 드롭 다운 목록을 활성화합니다.

분류에서Dev

속성으로 드롭 다운 찾기 비활성화 됨 false

분류에서Dev

여러 텍스트 영역 / 확인란을 비활성화하는 올바른 방법은 드롭 다운 상자의 값에 따라 다릅니다.

분류에서Dev

각도의 드롭 다운을 기반으로 formarray 활성화 또는 비활성화

분류에서Dev

vuejs의 드롭 다운에서 하나의 링크 비활성화

분류에서Dev

드롭 다운 선택에 따라 동적 테이블에서 확인란을 비활성화 / 활성화하는 방법

분류에서Dev

버튼 선택 드롭 다운 값에서 비활성화 활성화

분류에서Dev

Yii-다른 항목이 선택되면 드롭 다운 비활성화

분류에서Dev

Yii2-사용자 유형에 따라 navbar의 드롭 다운 행을 비활성화 / 읽기 전용으로 설정

분류에서Dev

모바일 장치의 TWBS Navbar, 드롭 다운 메뉴 비활성화 및 링크 사용

분류에서Dev

모바일 장치의 TWBS Navbar, 드롭 다운 메뉴 비활성화 및 링크 사용

분류에서Dev

검도 드롭 다운 목록에서 파란색 강조 표시를 비활성화하는 방법

분류에서Dev

Blazor의 버튼 비활성화 / 활성화-양식에있는 항목에 따라

분류에서Dev

자바 스크립트의 HTML 드롭 다운 비활성화 옵션

분류에서Dev

드롭 다운 값 변경시 비활성화 된 탭의 등급 변경

분류에서Dev

andriod Studio 4.0에서 오프라인 모드 활성화 / 비활성화

Related 관련 기사

  1. 1

    드롭 다운 목록 활성화 및 비활성화

  2. 2

    드롭 다운 목록의 활성화 /로드에 따라 완료 여부 에이블

  3. 3

    AngularJS 변수에 따라 드롭 다운 활성화 / 비활성화

  4. 4

    asp.net mvc 드롭 다운 목록 옵션 비활성화 선택

  5. 5

    jquery의 첫 번째 드롭 다운 목록을 기반으로 드롭 다운 목록 비활성화

  6. 6

    Spinner 드롭 다운 목록을 활성화 / 비활성화하는 방법

  7. 7

    KendoUI 드롭 다운 목록 옵션 비활성화

  8. 8

    다른 드롭 다운 목록에서 특정 조건에 대한 드롭 다운 목록 비활성화

  9. 9

    자바 스크립트에서 드롭 다운 목록 비활성화

  10. 10

    확인란과 관련하여 드롭 다운 목록 비활성화 활성화

  11. 11

    Flutter-드롭 다운-항목-비활성화?

  12. 12

    다른 드롭 다운 값을 기반으로하는 ASP.NET 비활성화 드롭 다운 목록

  13. 13

    IE11의 문서 모드 드롭 다운이 비활성화되어 있습니다. 활성화 할 수있는 방법이 있습니까?

  14. 14

    라디오 버튼을 특정 클릭하면 jquery를 사용하여 mvc에서 텍스트 상자 / 드롭 다운 목록을 활성화합니다.

  15. 15

    속성으로 드롭 다운 찾기 비활성화 됨 false

  16. 16

    여러 텍스트 영역 / 확인란을 비활성화하는 올바른 방법은 드롭 다운 상자의 값에 따라 다릅니다.

  17. 17

    각도의 드롭 다운을 기반으로 formarray 활성화 또는 비활성화

  18. 18

    vuejs의 드롭 다운에서 하나의 링크 비활성화

  19. 19

    드롭 다운 선택에 따라 동적 테이블에서 확인란을 비활성화 / 활성화하는 방법

  20. 20

    버튼 선택 드롭 다운 값에서 비활성화 활성화

  21. 21

    Yii-다른 항목이 선택되면 드롭 다운 비활성화

  22. 22

    Yii2-사용자 유형에 따라 navbar의 드롭 다운 행을 비활성화 / 읽기 전용으로 설정

  23. 23

    모바일 장치의 TWBS Navbar, 드롭 다운 메뉴 비활성화 및 링크 사용

  24. 24

    모바일 장치의 TWBS Navbar, 드롭 다운 메뉴 비활성화 및 링크 사용

  25. 25

    검도 드롭 다운 목록에서 파란색 강조 표시를 비활성화하는 방법

  26. 26

    Blazor의 버튼 비활성화 / 활성화-양식에있는 항목에 따라

  27. 27

    자바 스크립트의 HTML 드롭 다운 비활성화 옵션

  28. 28

    드롭 다운 값 변경시 비활성화 된 탭의 등급 변경

  29. 29

    andriod Studio 4.0에서 오프라인 모드 활성화 / 비활성화

뜨겁다태그

보관