![](/img/trans.png)
[英]My Gridview in asp.net C# row command doesn't fires after update button click
[英]Button click in template field of asp.net gridview doesn't work with update panel
我內部有一個更新面板和一個gridview,gridview中的每一行都有2個按鈕。 當我單擊按鈕時,更新進度開始運行,但是按鈕的事件未觸發。 這在我的設計代碼中:
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Panel ID="Panel1" runat="server" ClientIDMode="Static" CssClass="radtabclass inlineDiv">
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" Orientation="HorizontalTop" SelectedIndex="0" MultiPageID="RadMultiPage1" Skin="Vista">
<Tabs>
<telerik:RadTab Text="Docs" PageViewID="RadPageView1" />
...
</Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage runat="server" ID="RadMultiPage1" SelectedIndex="0">
<telerik:RadPageView runat="server" ID="RadPageView1">
<asp:GridView ID="RequestDocGridView" ShowHeaderWhenEmpty="true" ShowHeader="true" CssClass="searchresult_gridview" runat="server" AllowPaging="true" AutoGenerateColumns="False" CellPadding="4" GridLines="None" OnRowCommand="RequestDocGridView_RowCommand"
AlternatingRowStyle-CssClass="AlternatingRowStyle" SelectedRowStyle-CssClass="SelectedRowStyle" EditRowStyle-CssClass="EditRowStyle" FooterStyle-CssClass="FooterStyle" RowStyle-CssClass="RowStyle" PagerStyle-CssClass="PagerStyle" HeaderStyle-CssClass="HeaderStyle" PagerSettings-Mode="NumericFirstLast">
<Columns>
<asp:BoundField DataField="DocumentsByCustomer.DocumentName" HeaderText=" Name" HeaderStyle-CssClass="HeaderStyle" ReadOnly="true" />
<asp:CheckBoxField DataField="IsAvailable" HeaderText="Available" HeaderStyle-CssClass="HeaderStyle" ReadOnly="true" />
<asp:CheckBoxField DataField="DocumentsByCustomer.IsForcible" HeaderText="Force" HeaderStyle-CssClass="HeaderStyle" ReadOnly="true" />
<asp:TemplateField HeaderText="View" HeaderStyle-CssClass="HeaderStyle">
<ItemTemplate>
<asp:ImageButton ID="ViewDocumentImageButton" runat="server" ImageUrl="~/Images/DocumentPicture16x16.png" ToolTip="View" OnClick="ViewDocumentImageButton_Click" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField >
<ItemTemplate>
<asp:Button ID="btnInsert" runat="server" Text="Insert" OnClick="btnInsert_Click" />
<asp:Button ID="btnEdit" runat="server" Text="Edit" OnClick="btnEdit_Click" />
<asp:Button ID="InsertButton" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CommandName="Insert" runat="server" Text="Insert" />
<asp:Button ID="EditButton" CommandArgument="<%# ((GridViewRow) Container).RowIndex %>" CommandName="Edit" runat="server" Text="Edit" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</telerik:RadPageView>
<telerik:RadPageView runat="server" ID="RadPageView2">
...
</telerik:RadPageView>
</telerik:RadMultiPage>
</asp:Panel>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" DisplayAfter="1" DynamicLayout="true" AssociatedUpdatePanelID="UpdatePanel1" ClientIDMode="Static">
<ProgressTemplate>
<span class="progressspan">
<img src="../Images/ajax-loader.gif" alt="" />
<label>
Please Wait . . .
</label>
</span>
</ProgressTemplate>
</asp:UpdateProgress>
</ContentTemplate>
</asp:UpdatePanel>
和源代碼:
protected void RequestDocGridView_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Insert":
...
break;
case "Delete":
...
break;
case "Edit":
...
break;
default:
break;
}
}
protected void btnInsert_Click(object sender, EventArgs e)
{
....
}
protected void btnEdit_Click(object sender, EventArgs e)
{
....
}
在telerik控件的itemtemplate中使用asp控件時,我也面臨着相同的問題
使用System.EventArgs
而不是EventArgs
對於btnInsert_Click:
protected void btnInsert_Click(object sender,System.EventArgs e)
{
....
}
對於btnEdit_Click:
protected void btnEdit_Click(object sender, System.EventArgs e)
{
....
}
通過將“ UpdatePanel”替換為“ RadAjaxPanel”來解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.