저는 지금 당장이 작업을 해왔지만 답변을 찾을 수없는 것 같습니다 ... 오늘 Google이 정말 도움이되지 않습니다!검사기 컨트롤에 항상 Display = "Dynamic"이 있어야합니다.
많은 유효성 검사 형식을 사용하는 C# 웹 사이트에서 작업하고 있습니다. 손으로 타이핑해야하는 큰 폼 (아무런 문제 없음).
문제점은 항상 ValidationControls에 Display Property를 동적으로 설정하기를 원합니다.
나는 해결책을 찾았지만 이것이 최선의 해결책이라고 확신하지는 않습니다.
public class BaseValidatorControlAdapter : ControlAdapter
{
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
System.Web.UI.WebControls.BaseValidator _control = (System.Web.UI.WebControls.BaseValidator)this.Control;
_control.Display = System.Web.UI.WebControls.ValidatorDisplay.Dynamic;
base.Render(writer);
}
}
이 다음이
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.BaseValidator"
adapterType="BaseValidatorControlAdapter" />
</controlAdapters>
</browser>
</browsers>
내 질문처럼 보이는 App_Browser을 추가하여 triggerd된다
현재 나는 유효성 검사기 이런 유형 "동적"를 표시 설정하는 BaseValidatorControlAdapter이 너 때문이다. 모든 Validator 컨트롤에 대해 Display의 기본값을 설정할 수 있습니까? 현재의 솔루션이 현재 존재하는 것보다 우선 적용되기 때문에이를 바꿀 방법이 없습니다. 그러므로 상황에 따라 디스플레이 옵션에서 동적 인 다른 것을 필요로 할 때 그것을위한 해결책이 없습니다.
저는 이보다 더 좋은 해결책이 있다는 것을 거의 확신합니다.
아무쪼록 감사드립니다.
편집 8 월 2 : 2012 년
마침내 나는 모든 이러한 컨트롤을 추가 기본 asp.net 컨트롤을 무시하고public controlname()
: base()
{
this.Display = "Dynamic";
}
에 다음 생성자를 추가 할 수있는 솔루션으로 정착
네임 스페이스는 이제 할 수 있습니다
<validator:RequiredField ID="RqrdFld_x" runat="server" Display="Static" />
기본적으로 내 컨트롤 정의의 기본값을 재정의하면 d 기본 컨트롤을 재정의합니다. 생성자에서 Dynamic의 값을 표시합니다. 당신이 다음 Page_Init
경우에 이러한 코드를 사용하여 수행 할 수있는
내가 원하는 것을 정확하게 들려 주지만, 내 자신의 솔루션을 이미 가지고 있는데 좀 더 잘 보이기 때문에 살펴볼 것이다. 그것이 내가 원하는 해결책이라면 당신은 절대적으로 나의 투표를 답으로 얻을 것입니다! 내 컴퓨터에 집에 있어야합니다. D – bkwint