Jquery ASP.NET GridView处于编辑模式
我有一个Gridview,它放置两个用于选择和删除特定行的图像图标。网格绑定到jquery数据表,但当我选择图像来选择行时,默认行为是强制回发,这会导致网格丢失数据表设置 知道我如何在点击任一按钮时保留数据表吗Jquery ASP.NET GridView处于编辑模式,jquery,asp.net,gridview,datatable,Jquery,Asp.net,Gridview,Datatable,我有一个Gridview,它放置两个用于选择和删除特定行的图像图标。网格绑定到jquery数据表,但当我选择图像来选择行时,默认行为是强制回发,这会导致网格丢失数据表设置 知道我如何在点击任一按钮时保留数据表吗 <asp:GridView ID="grdMessageDups" runat="server" DataSourceID="sourceDuplicates" AutoGenerateColumns="false"> <Columns>
<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);
}
每次网格上发生事件时都需要将其绑定。选择行所做的是客户端事件java脚本或jQuery在这两种情况下都使用
return false;
如果在java脚本或jQuery中调用了onclick函数
编辑
你可以替换
<asp:ButtonField ButtonType="Image"
ImageUrl="~/images/icn_alert_error.png" />
将模板归档,并将图像按钮改为图像按钮,如下所示
<asp:TemplateField>
<ItemTemplate>
<img src="~/images/icn_alert_error.png" />
</ItemTemplate>
</asp:TemplateField>
在所有人的帮助下,最终的解决方案是:
<asp:TemplateField>
<ItemTemplate>
<a href="#" id="selectImage">
<img src="images/icn_alert_success.png" /></a>
</ItemTemplate>
</asp:TemplateField>
因此,现在,我需要为所选行执行获取KeyValue,我们是golden。绑定到jquery数据表是什么意思?您正在初始化gridview以使其表现为jquery datatable吗?是的-因此我使用代码隐藏构建gridview,然后当加载DOM并且Pre_Init处理完信息时,datatable被添加到网格中。当我点击按钮时,会导致回发。但是,我似乎无法取消调用JQuery函数的操作,因为它会停止默认操作。您是否在$document.readyfunction{//Your script}上调用JQuery datatable初始化脚本;网格是使用标准ASP.NET网格方法填充的,因此我有一个用于图像的CommandField,我想截获这个click事件,然后使用JQuery接管action.buttonfield。单击此按钮后,我想使用JQuery来e.PreventDefaults在该按钮字段上是否编写了JQuery函数?Shekhar-我完全忘记了ItemTemplate的内容:-
$('[id$=selectImage]').click(function (evt) {
evt.preventDefault();
alert("item selected");
});