我有一个Gridview,它放置了两个图像图标,用于选择和删除特定行。网格绑定到jquery数据表,但是当我选择图像来选择行时,默认行为是强制回发帖子,然后导致网格丢失数据设置。
知道如何在点击任一按钮时保留数据表吗?
<asp:GridView ID="grdMessageDups" runat="server" DataSourceID="sourceDuplicates"
AutoGenerateColumns="false">
<Columns>
<asp:CommandField ShowSelectButton="true" ButtonType="Image"
SelectImageUrl="~/images/icn_alert_success.png"/>
<asp:ButtonField ButtonType="Image"
ImageUrl="~/images/icn_alert_error.png" />
<asp:BoundField DataField="MsgDateDetailDuplicatesID" Visible="false" />
<asp:BoundField DataField="1" HeaderText="Heading 1" />
<asp:BoundField DataField="2" HeaderText="Heading 2" />
<asp:BoundField DataField="3" HeaderText="Heading 3" />
</Columns>
</asp:GridView>
然后DataTable JQuery的东西是:
var oTable = $('#grdMessageDetail').dataTable({
"aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "ALL"]],
'asStripClasses': null,
"iDisplayLength": 10,
"bJQueryUI": true,
"bFilter": true,
"bAutoWidth": false,
"bProcessing": true,
"bServerSide": false,
"sDom": 'RC<"H"lfr>t<"F"ip>',
//Scrolling .......
"sScrollY": "250px",
"sScrollX": "100%",
"sScrollXInner": "100%",
"bScrollCollapse": true,
});
后面代码中的代码是:
public static void MakeAccessible(GridView grid)
{
if (grid.Rows.Count <= 0) return;
grid.UseAccessibleHeader = true;
grid.HeaderRow.TableSection = TableRowSection.TableHeader;
if (grid.ShowFooter)
grid.FooterRow.TableSection = TableRowSection.TableFooter;
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
MakeAccessible(grdMessageDups);
}
答案 0 :(得分:0)
每次在网格上发生事件时,您都需要绑定它。
答案 1 :(得分:0)
选择行的做法是客户端事件(java-script或jQuery)在两种情况下使用
return false;
如果正在调用任何函数onclick(java-script或jQuery)
您可以替换
<asp:ButtonField ButtonType="Image"
ImageUrl="~/images/icn_alert_error.png" />
使用模板归档并将图像替换为图像按钮,如下所示
<asp:TemplateField>
<ItemTemplate>
<img src="~/images/icn_alert_error.png" />
</ItemTemplate>
</asp:TemplateField>
答案 2 :(得分:0)
在所有最终解决方案的帮助下:
<asp:TemplateField>
<ItemTemplate>
<a href="#" id="selectImage">
<img src="images/icn_alert_success.png" /></a>
</ItemTemplate>
</asp:TemplateField>
然后这个JQuery代码:
$('[id$=selectImage]').click(function (evt) {
evt.preventDefault();
alert("item selected");
});
所以,现在,我需要为所选行获取KeyValue,我们才是金色。