Asp.net RenderControl方法不为dropdownlist渲染autopostback

时间:2010-03-12 10:43:30

标签: asp.net drop-down-menu rendercontrol

我有点困惑的是,为什么asp.net在使用RenderControl方法时不会将autopostback属性设置为true的下拉列表呈现。

例如

 Dim sw As New IO.StringWriter
    Dim tw As New HtmlTextWriter(sw)

    Dim table As New Table

    table.Rows.Add(New TableRow)
    Dim tr As TableRow = table.Rows(0)

    tr.Cells.Add(New TableCell)
    Dim tc As TableCell = tr.Cells(0)

    Dim ddlMyValues As New DropDownList
    ddlMyValues.ID = "ddl1"

    ddlMyValues.Items.Add("Test1")
    ddlMyValues.Items.Add("Test2")
    ddlMyValues.Items.Add("Test3")
    ddlMyValues.AutoPostBack = True

    tc.Controls.Add(ddlMyValues)
    table.RenderControl(tw)

    Debug.WriteLine(sw.ToString)
  

我的输出呈现下拉列表而没有onchange =“javascript:setTimeout('__ doPostBack(\ ddl1 \',\'\')',0)”     这是由asp.net在正常使用下拉列表时生成的。

有解决方法吗?

1 个答案:

答案 0 :(得分:0)

只是一个猜测,但可能是因为它不在form元素内。你为什么要这样做呢?