我有一种情况,我有一个GridView具有多行和多列的绑定,并在其中显示数据。该代码是这样的:如何通过在GridView中点击GridView来获得nid只能通过javascript
<asp:GridView ID="dgnews" runat="server" AllowPaging="true" AutoGenerateColumns="False"
OnRowCommand="dgnews_RowCommand" OnPageIndexChanging="dgnews_PageIndexChanging"
OnRowDataBound="dgnews_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="S.No." ItemStyle-Width="15px">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Transfer Date" SortExpression="assetcode" ItemStyle-Width="15%">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "transferdate")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Department" ItemStyle-Width="18%">
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem, "departmentname")%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="5px">
<ItemTemplate>
<asp:LinkButton ID="lbtnedit" Visible="false" CommandName="edititem" CommandArgument='<%# Eval("nid")%>'
ToolTip="Edit" runat="server"><i class="fa fa-fw" ><img src="images/edit.png" alt="" /></i></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
,我已经在我的C#代码做soemthing liek此处理dgnews_RowCommand:
protected void dgnews_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "edititem")
{
Value = e.CommandArgument.ToString();// And i get the value of id of clicked row link button like this
}
}
,我得到的链接按钮的NID的点击这样"Value = e.CommandArgument.ToString();"
值。它工作正常。
现在我想要的只是通过javascript onclick函数调用来获得此行的点击行。我的意思是,当我点击一个排它必须在该行调用一个函数onclick="displayHistoryThroughImages(#DataBinder.Eval(Container.DataItem,'nid'));"
:
<asp:GridView ID="dgnews" runat="server" OnRowCommand="dgnews_RowCommand" OnRowDataBound="dgnews_RowDataBound"onclick="displayHistoryThroughImages(#DataBinder.Eval(Container.DataItem,'nid'));">
,并在JavaScript中我必须把它的NID liek这样的:
<script>
function displayHistoryThroughImages(nid)
{
alert("row pressed with nid : "+nid);
}
</script>
但它不工作。如何使它工作?我的意思是我点击一行,它必须调用函数displayHistoryThroughImages()与该行的nid,并只在JavaScript中。
这也给了C#代码中的错误:错误 'dgnews' 不存在名称在当前的情况下 –
@testtest它将采取commanf参数 – Webruster
@testtest你需要将onclick分配给LinkButton,但不是网格,在这里我们需要获得id当你在gridview上做的时候,你不会得到那个ID – Webruster