문제

나는 사용자 지정 웹 파트를 사용자 지정 toolpart 편집하는 사용자 정의 속성입니다.

는지 궁금하네요 난 어디 valide 의 값이 있습니다.

내가 볼 수있는 두 가지 장소가 유효성을 검사합니다.

에서 하나 재산 그 자체:

    private int? m_MaxNumberOfSomething;

    [Browsable(false)]
    [Category(Constants.WebPartsExtendedPropertiesCategoryName)]
    [DefaultValue(5)]
    [WebPartStorage(Storage.Personal)]
    public int? MaxNumberOfSomething
    {
        get
        {
            return m_MaxNumberOfSomething;
        }
        set
        {
            if (value.HasValue && value < 1) throw new WebPartPageUserException("At least one !");
            m_MaxNumberOfSomething = value;
        }
    }

에서 또는 적용의 변경 toolpart 방법:

    public override void ApplyChanges()
    {
        int maxNumberOfSomething;
        if (!int.TryParse(txtMaxNumberOfSomething.Text, out maxNumberOfSomething))
        {
            throw new WebPartPageUserException("At least one");
        }
        ParentWebPart.MaxNumberOfSomething = maxNumberOfSomething;
    }

가 3 번째 방법은?

무엇이 올바른 위치를 추가 이러한 검증?

도움이 되었습니까?

해결책

나는 그것을 할 것에 setter.

당신이 던지는 예외 어쨌든 그것은 청소하지 않는 사용자 set 값에서 첫 번째 장소입니다.당신이 할 것만 유효성 검사에 이 ApplyChanges 방법,다른 코드를 수 있는 일은 이미 잘못 설정된 값입니다.

검증 set, 므로 사용자는지 쓰게 잘못된 물건을 변수입니다. 여기에서 블로그 포스트를 보여주는 정확하게 하는 방법, 지만,당신은 그것을 정확하게 하거든요.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 sharepoint.stackexchange
scroll top