zoukankan      html  css  js  c++  java
  • .net gridview 任意单击某行跳转到新的页面,并且新页面的参数来自于与gridview中的不可见字段

    昨天做毕业设计的时候发现一个问题,就是gridview中的隐藏字段如果采用的是visible=false的方式,那么在gridview的数据源中,这个隐藏字段的值是空值,当然,想让他作为链接的参数也就不大可能了,在网上找的些文档,很多取值的方法都不得行,最后在博客园里面找到一个,但是他的标签貌似有问题样!隐藏的字段不能用visible=false的方法,应该采用HiddenField的形式。我就来重新写一下记录下。

    前台gridview的代码:

    <asp:GridView ID="gridYSlist" runat="server" AutoGenerateColumns="False" 
            CellPadding="4" EnableModelValidation="True" ForeColor="#333333" 
            GridLines="None" Height="348px" Width="687px" 
            onselectedindexchanged="gridYSlist_SelectedIndexChanged" 
            onrowdatabound="gridYSlist_RowDataBound">
            <AlternatingRowStyle BackColor="White" />
            <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HiddenField ID="infoid" runat="server" Value='<%# Eval("y_id") %>' />
                </ItemTemplate>
            </asp:TemplateField>
                <asp:BoundField DataField="y_title" HeaderText="养生标题">
                <HeaderStyle HorizontalAlign="left" />
                <ItemStyle HorizontalAlign="left" />
                </asp:BoundField>
                <asp:BoundField DataField="y_date" HeaderText="发布时间">
                <HeaderStyle HorizontalAlign="left" />
                <ItemStyle HorizontalAlign="left" />
                </asp:BoundField>
                <asp:BoundField DataField="y_id" HeaderText="infoid" />
            </Columns>
            <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
            <RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#3366FF" Font-Bold="True" ForeColor="Navy" />
        </asp:GridView>

    后台代码:

    protected void gridYSlist_RowDataBound(object sender, GridViewRowEventArgs e)
            {
                if (e.Row.RowType == DataControlRowType.DataRow)
                {
                    
                    HiddenField hf = (HiddenField)e.Row.FindControl("infoid");
                    e.Row.Attributes.Add("onclick", "window.open( 'ysinfo.aspx?infoid="+hf.Value+"');");
                    
                }
            }

    然后单击行跳转页面就这么完成了

  • 相关阅读:
    [bzoj1008](HNOI2008)越狱(矩阵快速幂加速递推)
    [BZOJ1007](HNOI2008)水平可见直线(半平面交习题)
    [bzoj1006](HNOI2008)神奇的国度(弦图最小染色)【太难不会】
    [BZOJ1005](HNOI 2008)明明的烦恼
    unity3d环境安装指南: Unity 4.5.5 + Visual Studio 2010
    再议Unity 3D
    Android系统简介(中):系统架构
    Android系统简介(上):历史渊源
    Spread 之自定义对角线cellType源码: DiagonalCellType
    通信行业OSS支撑系统软件研发思考
  • 原文地址:https://www.cnblogs.com/hytqm/p/2976717.html
Copyright © 2011-2022 走看看