如何在两个html页面之间传输数据

时间:2013-02-16 12:29:49

标签: c# cookies

我试图在一个页面中显示超链接,当用户点击链接时,页面会导航,但我想获取超链接的名称并在不同的网页中显示为标签。在这里我尝试使用cookie,但cookie只占用数据库的最后一个值可以存储在cookie中的所有值?感谢

 String sql1 = "select title,song_id from up_song where Song_type='Indian Pop Album'";
    adpt = new SqlDataAdapter(sql1, cn);
    ds = new DataSet();
    adpt.Fill(ds, "title1");
    var last6Uploaded1 = ds.Tables["title1"]
                              .AsEnumerable()
                              .OrderByDescending(r=> r.Field<int>("song_id"))
                              .Take(2);
    foreach (DataRow row in last6Uploaded1)
    {

        int songID = row.Field<int>("song_id");
        // you don't need the array of hyperlinks neither
        HyperLink hl = new HyperLink(); 
        hl.ID = "hyperlink" + songID;
        string title = row.Field<string>("title");
        hl.Text = title;
        hl.NavigateUrl = "Downloadpage.aspx";
        hl.ForeColor = System.Drawing.Color.White;
        HttpCookie coo = new HttpCookie("song");
        coo["sogtit"] = title;
        Response.Cookies.Add(coo);
        Panel2.Controls.Add(hl);
        Panel2.Controls.Add(new LiteralControl("<br>"));
     }

1 个答案:

答案 0 :(得分:1)

Cookie可以存储多个值,以下是您可以执行此操作的方法:

string title = row.Field<string>("title");
string song_id = row.Field<int>("song_id").ToString();

HttpCookie coo = new HttpCookie("song");
cookie.Values.Add("songtit", title);
cookie.Values.Add("song_id", song_id);

您将检索目标页面中的值,如下所示:

string title = response.Cookies["song"]["songtit"];
string song_id = response.Cookies["song"]["song_id"];

在网页之间传递数据的另一种常用方法是通过从目标网页中的QueryString获取的请求参数。像这样设置你的网址:

hl.NavigateUrl = "Downloadpage.aspx?name=" + title;

Downloadpage.aspx中的Page_Load事件处理程序集:

yourLabel.Text = Request.QueryString["name"];

其中yourLabel是您要为其设置文字的标签名称。

您可以通过以下请求传递多个参数:

hl.NavigateUrl = "Downloadpage.aspx?name=" + title + "&otherParam=" + otherParam;

在目标网页中,您可以通过Request.QueryString["otherParam"]获取第二个参数的值。