【发布时间】:2014-02-18 20:04:18
【问题描述】:
我在我设计的网页中使用了 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# 专业...
【问题讨论】: