我正在使用带有 VB 的 ASP.Net 在网格视图中显示记录。在普通的 ASP GridView 中,我可以简单地从后面的代码中处理 SelectedIndexChanged 事件,如下所示:
Sub mySub(ByVal sender as Object, ByVal e As EventArgs)
Handles GridView1.SelectedIndexChanged
Dim id as String = GridView1.SelectedRow.Item(0).ToString
Response.Redirect("Customer.aspx?ID=" & id) 'Or Whatever
End Sub
现在我正在尝试做同样的事情,但使用 DevExpress 附带的 ASPxGridView。显然,没有可以直接从后面的代码处理的内置事件。我必须使用 javascript 进行客户端点击,我不介意,但我所有尝试将点击事件从客户端传递到背后的服务器代码的尝试都失败了。
这是我的 ASP 页面
<dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False"
KeyFieldName="id" Width="550px" OnSelectionChanged="row_selected" >
<SettingsBehavior AllowFocusedRow="True" />
<SettingsText Title="Customers" />
<Columns>
<dx:GridViewDataTextColumn FieldName="id" ReadOnly="True" VisibleIndex="1">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="Name" VisibleIndex="2">
</dx:GridViewDataTextColumn>
</Columns>
<Settings ShowTitlePanel="True" />
<ClientSideEvents FocusedRowChanged="function(s, e) {
row_selected();
}" />
</dx:ASPxGridView>
这是我背后的代码(永远不会被调用)
Sub row_selected()
Dim id as String = ASPxGridView1.SelectedRow.Item(0).ToString
Response.Redirect("Customers.aspx?ID=" & id)
End Sub
如何通过单击 ASPxGridView 行上的一行从代码后面调用函数?