我在我设计的网页中使用Ext.Net GridPanel。一旦这个GridPanel填充了数据,并且我点击一行,我希望有关该行的信息被转发到Ext.Net ExtraParams。目前,有一个列,其中每个行都添加了带数据的按钮。单击此按钮时,它会将记录数据传递给定义的处理程序。下面是我提到的这个列按钮的ASPX代码:
<DirectEvents>
<Command OnEvent="GridPanel1_Command">
<EventMask ShowMask="true" />
<ExtraParams>
<ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw">
</ext:Parameter>
<ext:Parameter Name="command" Value="command" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</Command>
</DirectEvents>
它指向的C#处理程序:
protected void GridPanel1_Command(object sender, DirectEventArgs e)
{
string commandName = e.ExtraParams["command"];
string Id = e.ExtraParams["Id"];
}
此代码完美无缺。
我想现在添加一个双击处理程序,当双击一行时,它会转发相同的数据,所以我实现了以下内容:
<DirectEvents>
<Command OnEvent="GridPanel1_Command">
<EventMask ShowMask="true" />
<ExtraParams>
<ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw">
</ext:Parameter>
<ext:Parameter Name="command" Value="command" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</Command>
<DblClick OnEvent="GridPanel1_DblClick">
<ExtraParams>
<ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</DblClick>
</DirectEvents>
使用以下C#处理程序:
protected void GridPanel1_DblClick(object sender, DirectEventArgs e)
{
string Id = e.ExtraParams["Id"];
}
GridPanel1_DblClick永远不会在双击行项时被触发,但是如果我删除了ext:Parameter属性,它将完全正常激活。
我需要获取点击的行数据,我的代码出了什么问题?
如果我可以提供其他任何内容,请告诉我,我是ASP.Net新手,但是C#pro ...
答案 0 :(得分:0)
在我发布这个问题之前,我做了很多关于这个问题的研究,但显然还不够。我从相关的帖子中找到了答案:
我改变了:
<DblClick OnEvent="GridPanel1_DblClick">
<ExtraParams>
<ext:Parameter Name="Id" Value="record.data.Id" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</DblClick>
要
<RowDblClick OnEvent="GridPanel1_DblClick">
<ExtraParams>
<ext:Parameter Name="Id" Value="this.selModel.getSelected().data.Id" Mode="Raw">
</ext:Parameter>
</ExtraParams>
</RowDblClick>
行星现已对齐......