后台加载事件中调用‘创建填充属性值的控件’
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    CreateAttrValueList()
End Sub
‘创建填充属性值的控件’代码如下:
Public Sub CreateAttrValueList()
        Dim dr As DataRowCollection = GetAttrName(PID)'获取商品属性名
        Dim ids As String = ""        Dim i As Integer
        For i = 0 To dr.Count - 1            Dim ddlAttr As DropDownList = New DropDownList()
            ddlAttr.ID = "ddl" & dr(i)("ID")            ids += ddlAttr.ID & "," '拼接id集合            Dim dr2 As DataRowCollection =GetAttrValue(PID,dr(i)("ID"))'获取商品属性值
            Dim j As Integer
            For j = 0 To dr2.Count - 1                ddlAttr.Items.Add(New ListItem(dr2(j)("AttrValueCn"), dr2(j)("ID")))
            Next            Me.plAttrList.Controls.Add(attrName)
            Me.plAttrList.Controls.Add(ddlAttr)        Next
End Sub以上功能效果已实现,现在我想在改变任意一个下拉框时,根据下拉框的值查询信息。
各位大虾,怎么获取这种自动创建下拉框的选项改变事件?或者还有没有其它解决方案,麻烦贴出来。先谢啦!~

解决方案 »

  1.   

    ddlAttr 没绑定OnSelectedIndexChanged事件
      

  2.   

    效果源代码如下:
    <div id="ctl00_ContentPlaceHolder1_plAttrList">
    顏色:<select name="ctl00$ContentPlaceHolder1$ddl18" id="ctl00_ContentPlaceHolder1_ddl18">
    <option value="1909">黑色</option>
    <option value="1910">粉色</option> </select>重量:<select name="ctl00$ContentPlaceHolder1$ddl21" id="ctl00_ContentPlaceHolder1_ddl21">
    <option value="1908">0.71</option> </select>尺碼:<select name="ctl00$ContentPlaceHolder1$ddl24" id="ctl00_ContentPlaceHolder1_ddl24">
    <option value="1911">70B</option>
    <option value="1912">70C</option>
    <option value="1913">75B</option>
    <option value="1914">75C</option>
    <option value="1915">80C</option>
    <option value="1916">85B</option>
    <option value="1917">85C</option>
    </select>
    </div>
      

  3.   

    本帖最后由 net_lover 于 2012-10-15 10:45:06 编辑
      

  4.   

    再问一下,我想在当前比如第一个下拉框的OnSelectedIndexChanged事件中,获取第二个、第三个下拉框的值,怎么获取?