我在ASP.net中使用C#工作,我需要帮助来纠正或有办法获得我需要的东西。 我使用gridview,数据选择将根据其主键使用到另一个表中的一组数据。
在客户端的运行时,我需要收集onclick事件,每行的sid列并将其放入隐藏字段。但是,下面的代码对我不起作为<%#eval(“sid”); %GT ;!被读取为字符串,而不是当前行值。
我需要的是复选框一旦点击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>
如果需要进一步的信息,请询问您需要我添加到问题中的内容。
答案 0 :(得分:1)
试试这个,为我工作:
<asp:CheckBox runat="server" ID="cbSelect" onclick='<%# "javascript:alert(" + Eval("sid") + " );" %>'/>
答案 1 :(得分:0)
我相信Eval
区分大小写,您不需要分号:
<%# Eval("sid") %>
答案 2 :(得分:0)
尝试将代码更改为此。而你的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>