HyperLinkField 怎么根据数据库字段值跳转
HyperLinkField 如何根据数据库字段值跳转?
我用HyperLinkField 在GridView中实现修改页面跳转功能,用HyperLinkField 传过去id编号,然后数据库有个字段叫状态,如果状态是2,就不跳转,不是2就跳转到修改页面,怎么实现啊,请各位指导一下
------解决方案--------------------
加个 隐藏的label 存状态 后台 判断 label 的值 在处理跳转
------解决方案--------------------
在页面上使用?表达式进行判断
------解决方案--------------------
例子1
我用HyperLinkField 在GridView中实现修改页面跳转功能,用HyperLinkField 传过去id编号,然后数据库有个字段叫状态,如果状态是2,就不跳转,不是2就跳转到修改页面,怎么实现啊,请各位指导一下
------解决方案--------------------
加个 隐藏的label 存状态 后台 判断 label 的值 在处理跳转
------解决方案--------------------
在页面上使用?表达式进行判断
------解决方案--------------------
例子1
- HTML code
<%@ Page Language="C#" EnableViewState="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> // 计算数据,完全可以从数据库取得 System.Data.DataTable CreateDataSourceByXianhuiMeng() { System.Data.DataTable dt = new System.Data.DataTable(); dt.Columns.Add(new System.Data.DataColumn("Id", typeof(System.Int32))); dt.Columns.Add(new System.Data.DataColumn("State", typeof(System.String))); for (int i = 0; i < 8; i++) { dt.Rows.Add(new Object[] { i, i.ToString() }); } return dt; } protected void Page_Load(object sender, EventArgs e) { GridView1.DataSource = this.CreateDataSourceByXianhuiMeng(); GridView1.DataBind(); } protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { String State = DataBinder.Eval(e.Row.DataItem, "State").ToString(); HyperLink h = e.Row.Cells[1].Controls[0] as HyperLink; if (State.Equals("2")) { h.Visible = false; } } } </script> <html> <head> <title></title> </head> <body> <form id="form1" runat="server"> <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" OnRowDataBound="GridView1_RowDataBound"> <Columns> <asp:BoundField DataField="id" HeaderText="测试的" /> <asp:HyperLinkField DataNavigateUrlFields="Id" DataNavigateUrlFormatString="show.aspx?id={0}" DataTextField="State" /> </Columns> </asp:GridView> </form> </body> </html>