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+"');");
                    
                }
            }

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

  • 相关阅读:
    ASP.NET 防盗链的实现[HttpHandler]
    html打印表格每页都有的表头和打印分页
    spring是怎样管理mybatis的及注入mybatis mapper bean的
    浅谈Log4j和Log4j2的区别
    git tag — 标签相关操作
    java cocurrent包
    线程实现异步
    使用Shell脚本查找程序对应的进程ID,并杀死进程
    shell脚本监测文件变化
    spring boot的几种配置类型
  • 原文地址:https://www.cnblogs.com/hytqm/p/2976717.html
Copyright © 2011-2022 走看看