我有一个ComboBox绑定到一个绑定到DataGrid的对象。当我更改ComboBox选择或DataGrid中的SelectedItem时,会触发ComboBox上的事件SelecionChanged。
有没有办法知道哪个组件(DataGrid或ComboBox)已触发事件?
答案 0 :(得分:1)
为了让ComboBox回发,我想它已经设置为AutoPostBack?如果这会影响GridView上的数据,那么所有事件都将触发。当触发完整回发时(例如将ComboBox设置为AutoPostBack = true),将触发包含新数据的每个事件。
您应该查看控件生命周期: http://msdn.microsoft.com/en-us/library/aa719775(v=vs.71).aspx(这只是msdn doc,它不是很好,但它是一个很好的起点)。
...您还应该尝试使用您的问题发布一些代码:)您正在做的事情有点含糊不清。它们都受到什么对象的约束?或者是与GridView和ComboBox绑定的相同数据集吗?
编辑:这篇文章可能会有所帮助:Two types of postback events
答案 1 :(得分:0)
如果我是你,我会将断点放在SelectedItem或SelectedChanged断点处,并尝试在调试模式下运行解决方案并查看第一个断点被击中的位置;)Callstack也会帮助你。
答案 2 :(得分:0)
假设您将它们连接到对象数据源。您可以为使用相同SelectMethod的下拉列表创建单独的数据源。这样,他们都会在回发后使用相同的数据进行更新。
否则使用javascript作为下拉列表的onchange事件,并设置一个隐藏字段,其中if是否已更改。然后检查该值以查看它是否来自下拉列表。
<asp:DropDownList runat="server" ID="drpOption"onchange="javascript:OptionChanged();"></asp:DropDownList>
function OptionChanged() {
$('#hdnField').val = 'true';
return false;
}
答案 3 :(得分:0)
你可以通过应用最先执行部分的BreakPoint来进行DAtaGRid和Combobox ANd检查的选择更改事件。!!