繁体   English   中英

我们如何对诸如RowCommand,RowDeleting之类的gridview事件进行ajax调用

[英]How can we do ajax calls for gridview events like RowCommand, RowDeleting

我正在一个asp.net Web应用程序上,其中所有事件都是在.ASPX中生成的,并且代码背后的代码也都是用C#编写的,两者都可以正常工作。 但是现在我想使用AJAX调用来调用c#服务器端事件。

我知道如何使用AJAX调用来创建和调用webmethod,但不知道如何通过AJAX处理(object sender, GridViewRowEventArgs e)这些参数。

提前致谢。

ASPX代码:

<asp:GridView ID="grd" runat="server"
 AutoGenerateColumns="false" 
 OnRowCommand="grd_RowCommand">
 <Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="btn" runat="server" CommandName="AddRow" Text="AddRow">
 </asp:Button>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

C#代码:

protected void grd_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "AddRow")
{
 //Do Something
}
}

通常不回发到服务器的控件自然会使用某些ASP.NET JS方法来触发回发,这会设置两个隐藏字段值:__EVENTTARGET和__EVENTARGUMENT(请参阅此文章,并在其他上下文中有一些简短的详细信息 )。 这些字段应包含相关的对象/事件arg数据。 因此,您的解决方案可能需要能够使用该功能,调用页面请求并解析出响应以替换网格,这也许会起作用。 但是,我认为这可能会有问题。

由于您使用的是Web表单,因此建议您最好使用UpdatePanel,或者考虑使用此技术从AJAX响应中动态加载网格。 网格中的任何事件都需要通过JS处理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM