2

我有一个<asp:DropDownList>女巫被静态列表项填满。

<asp:DropDownList ... OnDataBound="handlerMethod">
    <asp:ListItem Value="..." Text="..." />
    <asp:ListItem Value="..." Text="..." />
    <asp:ListItem Value="..." Text="..." />
</asp:DropDownList>

问题是OnDataBound当列表被填满时事件不会被触发。我需要它来触发从下拉列表中的列表项中填充一些其他数据。

文档说:

此方法通知服务器控件与该控件关联的任何数据绑定逻辑已完成。

我的眼睛盯着这个“逻辑”词,这让我错过了触发事件时的重点

但如果是这种情况,我怎样才能触发事件或者我可以使用什么其他事件来知道列表何时完成填充?

4

1 回答 1

1

通常这意味着您已删除AutoEventWireup="true"或将其设置为 false,这就是它没有连接事件的原因。

这也可能意味着javascript 中有一些错误,不允许运行更多代码。打开检查器(Firefox 中的 Chrome、Safari 或 Firebug - 不要依赖 IE 开发人员工具)并查看是否有任何可能导致页面停止的 javascript 错误。

也可能handlerMethod没有正确设置,最好的办法是删除html部分OnDataBound="handlerMethod"和该方法后面的代码,然后转到design view,打开事件中的属性窗口并双击OnDataBound,它会正确添加事件. 在那里设置一个断点并debug="true"在您的web.config文件中调试运行。

于 2011-07-08T08:02:30.447 回答