Asp.net动态呈现标签 - AssociatedControlID在处理程序中抛出异常

时间:2014-01-06 13:38:37

标签: c# asp.net handler

情况:jQuery Ajax脚本调用ASP.NET通用处理程序,后者又动态呈现web asp.net控件的html代码。标签的AssociatedControlID属性存在问题,导致异常。我的代码是:

public override PlaceHolder GetWebControl()
{
    // GetWrappingPlaceHolder() creates an placeholder
    PlaceHolder plh = this.GetWrappingPlaceHolder();

    var inputTextBox = new TextBox();
    inputTextBox.ID = "TextBox";
    inputTextBox.Text = this.Value;


    var label = this.GetLabel();
    label.AssociatedControlID = inputTextBox.ID;

    plh.Controls.Add(label);
    plh.Controls.Add(inputTextBox);

    return plh;
}

从处理程序调用上述方法:

var control = option.GetWebControl();

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter htw = new HtmlTextWriter(sw);

control.RenderControl(htw);

最后一行抛出异常。

  

发生了'System.Web.HttpException'类型的异常   System.Web.dll但未在用户代码中处理

     

其他信息:无法找到id为'TextBox'的控件   与标签'标签'相关联。

我该如何解决这个问题?特别是,没有添加我的控件动态创建Web.UI.Page?

0 个答案:

没有答案