使用Javascript的GridView模板问题

时间:2013-10-16 15:41:30

标签: c# javascript asp.net

我在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>

如果需要进一步的信息,请询问您需要我添加到问题中的内容。

3 个答案:

答案 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>