使用超链接跳转页面(GridView)

1. the html markup

<div>
            <asp:GridView ID="GridView1" runat="server" AllowPaging="true" PageSize="5" OnPageIndexChanging="GridView1_PageIndexChanging" AutoGenerateColumns="false" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl=‘<%#Eval("Id", "~/ThreadsTest/GridView/DetailsInformation.aspx?Id={0}") %>‘ Text=‘<%#Eval("Id") %>‘>></asp:HyperLink>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:CommandField ShowSelectButton="true" SelectText="View Details" />
                    <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
                    <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" />
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:HyperLink runat="server" NavigateUrl=‘<%# string.Format("~/ThreadsTest/GridView/DetailsInformation.aspx?Id={0}&Name={1}&City={2}",  HttpUtility.UrlEncode(Eval("Id").ToString()), HttpUtility.UrlEncode(Eval("Name").ToString()), HttpUtility.UrlEncode(Eval("City").ToString())) %>‘ Text="View Details" />
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:Button ID="btnExportToEXCEL" runat="server" Text="Export to Excel" OnClick="btnExportToEXCEL_Click"/>
            <br />
            <hr />
            <asp:GridView ID="GridView2" runat="server" AllowPaging="true" OnRowCommand="GridView2_RowCommand" PageSize="5" OnPageIndexChanging="GridView2_PageIndexChanging" AutoGenerateColumns="false" HeaderStyle-BackColor="#3AC0F2" HeaderStyle-ForeColor="White" RowStyle-BackColor="#A1DCF2" AlternatingRowStyle-BackColor="White" AlternatingRowStyle-ForeColor="#000">
                <Columns>

                    <asp:BoundField DataField="Id" HeaderText="Id" ItemStyle-Width="150" />
                    <asp:BoundField DataField="Name" HeaderText="Name" ItemStyle-Width="150" />
                    <asp:BoundField DataField="City" HeaderText="City" ItemStyle-Width="150" />
                     <asp:CommandField ShowSelectButton="true" SelectText="View Details" />
                </Columns>
            </asp:GridView>
        </div>

2.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.IO;
using System.Drawing;

namespace _201502ThreadsTest.ThreadsTest
{
    public partial class PassHyperLinkInGridView : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                //BindGridview(GridView1);
                //BindGridview(GridView2);
            }
        }
        //Bind Gridview
        public void BindGridview(GridView grv)
        {
            string sql = "select * from Customer";
            using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString))
            {
                SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
                DataTable dt = new DataTable();
                sda.Fill(dt);

                grv.DataSource = dt;
                grv.DataBind();
            }
        }

        //Paging
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex;
            this.BindGridview(GridView1);
        }
        //Export to Excel
        protected void btnExportToEXCEL_Click(object sender, EventArgs e)
        {
            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.xls");
            Response.Charset = "";
            Response.ContentType = "application/vnd.ms-excel";
            using (StringWriter sw = new StringWriter())
            {
                HtmlTextWriter hw = new HtmlTextWriter(sw);
                //To Export all pages
                GridView1.AllowPaging = false;
                this.BindGridview(GridView1);
                GridView1.HeaderRow.BackColor = Color.White;
                foreach (TableCell cell in GridView1.HeaderRow.Cells)
                {
                    cell.BackColor = GridView1.HeaderStyle.BackColor;
                }
                foreach (GridViewRow row in GridView1.Rows)
                {
                    row.BackColor = Color.White;
                    foreach (TableCell cell in row.Cells)
                    {
                        if (row.RowIndex % 2 == 0)
                        {
                            cell.BackColor = GridView1.AlternatingRowStyle.BackColor;
                        }
                        else
                        {
                            cell.BackColor = GridView1.RowStyle.BackColor;
                        }
                        cell.CssClass = "textmode";
                    }
                }
                GridView1.RenderControl(hw);
                //style to format numbers to string
                string style = @"<style> .textmode { } </style>";
                Response.Write(style);
                Response.Output.Write(sw.ToString());
                Response.Flush();
                Response.End();
            }
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            /* Verifies that the control is rendered */
        }

        protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = Convert.ToInt32(e.CommandArgument);
            int Id = Convert.ToInt32(GridView2.Rows[index].Cells[0].Text);
            Session["Id"] = Id;
            Response.Redirect("~/ThreadsTest/GridView/DetailsInformation.aspx");
        }

        protected void GridView2_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView2.PageIndex = e.NewPageIndex;
            this.BindGridview(GridView2);
        }
    }
}

3. 目标页

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <table border="1">
                <tr>
                    <td>
                        <b>Id</b>
                    </td>
                    <td>
                        <asp:Label ID="lblId" runat="server"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <b>Name</b>
                    </td>
                    <td>
                        <asp:Label ID="lblName" runat="server"></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <b>City</b>
                    </td>
                    <td>
                        <asp:Label ID="lblCity" runat="server"></asp:Label>
                    </td>
                </tr>
            </table>
            <br />
            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/ThreadsTest/GridView/PassHyperLinkInGridView.aspx">Back to Previous page </asp:HyperLink>
        </div>
    </form>
</body>
</html>

 if (!IsPostBack)
            {
                //lblId.Text = Request.QueryString["Id"];
                //lblName.Text = Request.QueryString["Name"];
                //lblCity.Text = Request.QueryString["City"];

                string id = Session["Id"].ToString();
                Response.Write(id);
            }

时间: 2024-08-08 01:10:34

使用超链接跳转页面(GridView)的相关文章

超链接跳转嵌套完成iframe框架 页面双头双尾解决办法

好久没写文章了,今天小码哥在前辈面前落怂了,但也学了点东西,弥补自身知识的欠缺. 最近在做一个项目的时候,由于用到第三方框架的原因,好多自己写的页面在框架中跳转页面的时候不是碰到跨域问题就是碰到其他一些稀奇古怪的问题.今天就又碰到一个让我感觉无从着手的问题.那就是在一个超链接上通过URL跳转页面,目标页面是一个由iframe引入的有头有尾的完整页面嵌套进当前页面的一个操作.悲剧由此发生,当点击超链接的时候,发生如下图: 这样的两个头部导航的问题.当然还有两个页底的问题.就不贴图了. 就酱紫,小码

【2017-05-21】WebForm跨页面传值取值、C#服务端跳转页面、 Button的OnClientClick属性、Js中getAttribute和超链接点击弹出警示框。

一.跨页面传值和取值: 1.QueryString - url传值,地址传值 优缺点:不占用服务器内存:保密性差,传递长度有限. 通过跳转页面路径进行传值,方式: href="地址?key=value&key=value"            用&可以实现传递多个值. 通过这种方式就把要传递的值传到要跳转的页面去了. 2.跨页面取值: 在跳转到的页面的C#代码服务端进行取值 用:  string value = Request["key"]; 二.

webform文本框 、显示文字、按钮、跳转页面、页面传值

1.TextBox:用户输入文本框 单行文本框 多行文本框 密码框2.显示文字:lable会生成Span标签 literall将文字原封不动的打到页面3.按钮:Button普通按钮 ImageButton图片按钮 LinkButton超链接按钮4.Image:图片工具 HyperLink:超链接工具 跳转页面:1.Response.Redirect("url"); //重定向页面,可以跳转任何页面2.Server.Transfer("url"); //重新请求页面,

html 锚点(超链接跳转和js中跳转)

超链接跳转同页面: <a href="#q1">问题一?</a> <a href="#q1">问题二?</a> <a href="#q1">问题二?</a> <a name="q1">问题一的解答</a> 不同页面: a.html的内容 <a href="b.html#q1">问题一?</a&g

Swift中使用presentViewController跳转页面后模拟器显示黑屏问题

Swift中使用presentViewController跳转页面后模拟器显示黑屏问题 问题原因 针对storyboard制作页面和手写页面,需要使用两种不同方法进行页面跳转. 解决办法 针对手写页面及storyboard制作页面,使用代码进行页面跳转的两种方法. 对于使用storyboard制作的页面 var sb = UIStoryboard(name: "Main", bundle:nil) var vc = sb.instantiateViewControllerWithIde

iOS故事板下使用代码跳转页面

如今iOS8下,使用Storyboards开发十分方便,搭配上Size Class后,并且适配更加便捷. 但是突然由代码写界面或者xib转向故事板,难免有一些疑惑. 由于故事板下,基本使用连续来跳转页面,但有些情况下总会用到代码控制页面跳转,这个时候传统的初始化ViewController后push过去会出现一个黑色屏幕,什么内容都没用. 解决方案: UIStoryboard *story = [UIStoryboard storyboardWithName:@"填写故事板名称" bu

SharePoint 如何制作自动跳转页面

SharePoint 如何制作自动跳转页面 SharePoint制作自动跳转的页面非常简单,只要在页面上添加一个Web部件--内容编辑器,加入相应的js代码即可. 本文介绍如何制作自动跳转页面. 1. 新建ASPX页面,命名RedirectingPage. 2. 编辑页面,添加内容编辑器Web部件. 3. 编辑Web部件,选择编辑HTML源代码. 4. 输入js代码,点击确定,保存. 5. 在SharePoint站点首页编辑页面,输入"[["选择RedirectingPage,再输入&

iOS UItextView监听输入特定字符跳转页面选择选项返回

今天有朋友问我一个需求的实现,于是自己写了一个Demo简单的实现了一下: 需求是: 1>比如: 检测用户输入"A"字符串,跳转页面选择选项,将选择的选项放置textView里,作为当前的输入; 2>不是"A"字符,则正常的textView输入; 3.用户跳转选择了,则将选择的输入到textView,否则,还是输入用户输入的字符即可. 实现代码如下: // // ViewController.m // Demo // // Created by 思 彭 o

使用Android点击按钮跳转页面

1.首先新建一个Android工程,命名为MyApp(名字可以自己随意起); 2.以原有的MainActivity.java文件为登录界面,然后在src文件中的包上面右击选择New目录下的Other中的Android Activity,选择BlankActivity,修改一个Activity的名字(自定义),我这里命名为BankActivity,点选finish然后新建完成一个返回页面;\ 3.接下来就要添加布局文件了,我们在res文件下的layout文件里先双击activity_main.xm