ASP:GridView传递行到HTML Div

时间:2014-08-01 14:30:02

标签: gridview aspxgridview

下面的代码是我一直在努力演示如何从asp:gridview创建弹出窗口的示例。

它工作正常,但由于在页面加载时设置了<DIV>,我总是得到gridview的第一个实例。

我想弄清楚如何在DIV中获取所选值。我假设我需要以某种方式将值传递给DIV,但试图在没有代码的情况下完成此任务。

任何建议都将不胜感激。

提前谢谢。

<asp:GridView runat="server" id="GridView1"  DataSourceID="SqlDataSource4" AutoGenerateColumns="False" BorderColor="White" GridLines="None" HorizontalAlign="Left">
<Columns>
    <asp:templatefield HeaderText="Metrics:" SortExpression="Column Name">
        <ItemTemplate>
            <a href="javascript:void(0)" onclick="document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">
            <asp:Label runat="server" Text='<%# Eval("[Column Name]") %>' id="Label1" ToolTip="Click to see detail.">
            </asp:Label>
            </a>
        <div id="light" class="white_content">
            <asp:Label runat="server" Text='<%# Eval("[ToolTip]") %>' id="Label2" ToolTip="Click to see detail.">
            </asp:Label>
                <a href="javascript:void(0)" onclick="document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">
                <br>
                <br>
                Exit</br></br></a></div>
            <div id="fade" class="black_overlay">
        </div>

        </ItemTemplate>
        <HeaderStyle HorizontalAlign="Left" Font-Bold="True" Font-Underline="True" />
    </asp:templatefield>
</Columns>

1 个答案:

答案 0 :(得分:0)

自从我参与WebForms项目以来已经有一段时间了,但由于您正在模板中直接设置ID,因此ID可能会使网格混乱。

我的建议是您使用函数动态设置ID或使用Grid事件处理程序在数据绑定过程中选择ID。这样您就可以为javascript定义正确的ID。

使用CSS类选择DIV可能还有另一个优雅的解决方案。

如果有帮助,请告诉我。

谢谢! 圣拉斐尔