0
나는 다음과 같은 문제에 직면 해 거의 2 일 동안 싸웠습니다. 다음 코드가 있습니다.Validator.RenderControl은 빈 문자열을 반환합니다.
protected override void Render(HtmlTextWriter writer)
{
string controlOutput;
string validatorOutput;
string allOutput;
StringWriter controlStringWriter = new StringWriter();
HtmlTextWriter controlHtmlWriter = new HtmlTextWriter(controlStringWriter);
StringWriter validatorsStringWriter = new StringWriter();
HtmlTextWriter validatorsHtmlWriter = new HtmlTextWriter(validatorsStringWriter);
base.Render(controlHtmlWriter);
controlOutput = controlStringWriter.ToString();
this.renderValidators(validatorsHtmlWriter);
validatorOutput = validatorsStringWriter.ToString();
allOutput = String.Format("{0} {1}", controlOutput, validatorOutput);
writer.Write(allOutput);
}
renderValidators 기능은 다음과 같습니다
private void renderValidators(HtmlTextWriter writer)
{
foreach (BaseValidator validator in this.ValidatorsCollection)
{
validator.RenderControl(writer);
}
}
렌더 기능은 빈 문자열을 반환합니다. 컬렉션에있는 유효성 검사기의 Visible 속성이 true로 설정됩니다.
나는 유효성 검사기를 OnInit 함수에 추가하고 있습니다. 최초 렌더링시 validator.RenderControl (writer); 다시 게시 후 html 입력을 반환하기 시작한 빈 문자열 반환 ...
어쩌면 누군가가 그런 문제에 직면 했습니까 ???