簡體   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