GridView Template Issue with Javascript
本文关键字:Javascript with Issue Template GridView | 更新日期: 2023-09-27 18:35:42
我在 ASP.net 中使用 C#,我需要帮助来纠正或有一种方法来获得我需要的东西。我使用 gridview,数据选择一组数据,这些数据将根据其主键到另一个表中使用。
在客户端的运行时,我需要收集 onclick 事件,每行的 sid 列并将其放入隐藏字段中。但是,下面的代码对我不起作用,因为 <%#eval("sid");%>!正在读取为字符串,而不是当前行值。
我需要的是单击alert(5)而不是alert('<%#eval("sid");%>!")的复选框;这就是目前正在做的事情。
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox runat="server" ID="cbSelect" onclick="javascript:alert('<%#eval("sid"); %>!');"/>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataTextField="nombre" NavigateUrl="http://www.google.com" HeaderText="direccion"/>
<asp:BoundField DataField="sid" HeaderText="sid" InsertVisible="False"
ReadOnly="True" SortExpression="sid" />
<asp:BoundField DataField="nombre_archivo" HeaderText="nombre_archivo"
SortExpression="nombre_archivo" />
</Columns>
如果需要更多信息,请询问您需要我在问题中添加什么。
试试这个,对我有用:
<asp:CheckBox runat="server" ID="cbSelect" onclick='<%# "javascript:alert(" + Eval("sid") + " );" %>'/>
我相信
Eval
区分大小写,你不需要那个分号:
<%# Eval("sid") %>
尝试将代码更改为此代码。你的 Eval() 实际上是 eval() 无效的。
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox runat="server"
ID="cbSelect"
onclientclick='<%#string.Format("javascript:alert('{0}');",Eval("sid"))%>'/>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField DataTextField="nombre"
NavigateUrl="http://www.google.com" HeaderText="direccion"/>
<asp:BoundField DataField="sid" HeaderText="sid" InsertVisible="False"
ReadOnly="True" SortExpression="sid" />
<asp:BoundField DataField="nombre_archivo" HeaderText="nombre_archivo"
SortExpression="nombre_archivo" />
</Columns>