【问题标题】:Pass ID from GridView row to Javascript function将 GridView 行中的 ID 传递给 Javascript 函数
【发布时间】:2010-09-03 19:42:32
【问题描述】:

下面的第一条注释行是使用硬编码的ApplicantId,我只需要通过在同一个网格行上传递当前的ApplicantId 列来使其工作。

我已经尝试了很多天,第二条评论行之类的东西对我不起作用。 请帮忙。

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
DataKeyNames="ApplicantID" >
<Columns>

<asp:TemplateField HeaderText="Select">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>

<!-- works -->
<asp:HyperLinkField NavigateUrl="javascript:popUp(3)" Text="Select" Target="_parent"/>

<!-- doesn't work -->
<asp:HyperLinkField NavigateUrl='"javascript:popUp("<%# + DataBinder.Eval(GridView1.DataItem,"ApplicantId") %> + ")"' Text="View" />

</Columns>
</asp:GridView>

【问题讨论】:

    标签: javascript asp.net gridview


    【解决方案1】:

    令人沮丧的是,在尝试生成 javascript Url 时,我从未能够让 HyperLinkField 合理地输出。但是,以下内容对您有用:

    <asp:TemplateField>
        <ItemTemplate>
            <asp:HyperLink runat="server" 
              NavigateUrl='<%# "javascript:popUp(" + Eval("ApplicantId") + ")" %>'
              Text="View">
            </asp:HyperLink>
        </ItemTemplate>
    </asp:TemplateField>
    

    当您不生成 javascript Url 时,可能值得记住的一件事是 DataNavigateUrlFieldsDataNavigateUrlFormatString 属性,因为它们允许您以更简洁的方式组合 Url:

    <!-- Doesn't work due to "javascript:" target -->
    <asp:HyperLinkField Text="View" DataNavigateUrlFields="ApplicantId"
         DataNavigateUrlFormatString="javascript:popUp({0})" />
    <!-- Does work as targeting a "http://" target -->
    <asp:HyperLinkField Text="View 2" DataNavigateUrlFields="ApplicantId" 
         DataNavigateUrlFormatString="http://localhost/popUp/{0}/" />
    

    【讨论】:

      【解决方案2】:

      刚刚看到这个帖子 试试这个,它会工作的

      <asp:TemplateField>
      <HeaderTemplate>Require Details ?</HeaderTemplate>
      <ItemTemplate>
                 <a href='javascript:ShowItemDetail(<%# Eval("Id")%>)'>Yes</a>
      </ItemTemplate>
      </asp:TemplateField>
      

      :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-04-09
        • 1970-01-01
        • 2018-05-22
        • 1970-01-01
        • 1970-01-01
        • 2011-09-14
        • 1970-01-01
        相关资源
        最近更新 更多