如何使用会话将列表框项检索到下一页 [英] How to retrieve listbox items into next page by using session

查看:130
本文介绍了如何使用会话将列表框项检索到下一页的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友,



我使用了从sql table填充值的列表框控件。在gridview bound字段中我使用了listbox列。如果我们点击选择链接在gridview中,它将转到下一页并查看所选行的项目。但在下一页中,所选列表框项目未在下一页中查看。



Default4.aspx

Friends,

I have used listbox control that populating values from sql table.In the gridview bound field I have used the listbox column.If we click select link in gridview it will go to next page and view the selected row's items.But in the next page selected list box item is not viewing in next page.

Default4.aspx

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
           AutoGenerateEditButton="True" AutoGenerateSelectButton="True"
           onselectedindexchanged="GridView1_SelectedIndexChanged">
           <Columns>
               <asp:BoundField DataField="BugNumber" HeaderText="Id" />
           </Columns>
       </asp:GridView>







Default4.aspx.cs




Default4.aspx.cs

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

public partial class Default4 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        SqlConnection con = new SqlConnection("Data Source=CDC015;Initial Catalog=Dashboard;Persist Security Info=True;User ID=prima;Password=123abcd*");
        con.Open();
        SqlCommand cmd = new SqlCommand("select BugNumber from Bug", con);
        SqlDataAdapter ada = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        ada.Fill(ds, "sample");
        GridView1.DataSource = ds.Tables[0];
        GridView1.DataBind();
        
    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        foreach (GridViewRow row in GridView1.Rows)
        {
            if (GridView1.SelectedRow != null)
            {

                GridViewRow selectedRow = GridView1.SelectedRow;

                Session["BugNumber"] = selectedRow.Cells[1].Text;
                Response.Redirect("Default5.aspx");
            }
        }
    }
}





Default5.aspx



Default5.aspx

<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox>





Default.aspx.cs



Default.aspx.cs

if (this.PreviousPage != null)
       {

       }
       string PrimaryImpactedArea = System.Web.HttpContext.Current.Session["BugNumber"].ToString();
       ListBox1.SelectedItem.Text = PrimaryImpactedArea;







在上面的代码中,我无法从gridview中看到所选的列表框项目列进入下一页.Plz帮助我。







提前致谢




In the above code i am unable to see the selected listbox item from gridview column into next page.Plz help me.



Thanks in advance

推荐答案

在Default5.aspx.cs页面中尝试以下代码,以保持在listbox1中选择会话项目:



Try below code in Default5.aspx.cs page to keep session item selected in listbox1:

foreach (ListItem item in ListBox1.Items)
{
  var PrimaryImpactedArea = Session["BugNumber"];
  if (PrimaryImpactedArea != null && item.Text == PrimaryImpactedArea)
  {
    item.Selected = true;
  }
}


您在Page_Load事件中绑定数据网格。

所以每次绑定它什么时候回来了。你需要做的就是

如果Block with Check IsNotPostback



if(Page.IsNotPostBack)

{

数据网格绑定的逻辑

}
You are Binding your datagrid in Page_Load event.
So it every time Bind it when it get Post Back. Just you need to do is
Put it inside if Block with Check IsNotPostback

If(Page.IsNotPostBack)
{
Logic of Datagrid Binding
}


这篇关于如何使用会话将列表框项检索到下一页的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆