首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Validator.RenderControl返回空字符串

Validator.RenderControl返回空字符串
EN

Stack Overflow用户
提问于 2012-04-04 23:15:12
回答 1查看 432关注 0票数 0

我已经面对了下面的问题,并与之斗争了近两天。我有以下代码。

代码语言:javascript
复制
        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函数为:

代码语言:javascript
复制
  private void renderValidators(HtmlTextWriter writer)
        {
            foreach (BaseValidator validator in this.ValidatorsCollection)
            {
                validator.RenderControl(writer);
            }
        }

Render函数返回空字符串。集合中的Validator的Visible属性设置为true。

我在OnInit函数中添加了验证器。在第一次渲染validator.RenderControl(编写器)时,返回一个空字符串,回发之后,它开始返回html输入...

也许有人遇到过这样的问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-05 05:44:26

据我所知,在呈现验证器之前,您需要检查控件是否已添加到页面中。

代码语言:javascript
复制
        Page page = Page;
        if (page == null || page.Request == null) {
            return false;
        }

MSDN中可以找到一个非常有用的示例

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10014063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档