0
下面是我的dropdownlist(drpdwnshowitems)的Page_Load和SelectedIndexChanged事件代码,其中我绑定了数据库中的数据,并且AutoPostBack为true,因为我需要这样做。我将最近选定的值(项目)存储到一个名为“NoOfShowItem”的cookie,我在页面加载中请求该值并希望使用,但只能提供前一个值。要看到我也显示在JavaScript消息框,也给予相同的价值。在逐步执行后,我看到selectedIndexChanged事件在加载(回发)页面后触发。我搜索了很多,但我无法找到确切的解决方案。所以请帮助任何人。提前致谢。AutoPostBack的dropdownlist最近没有加载最近更改的值
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
public partial class Client_Category : System.Web.UI.Page
{
float countshowitem;
protected void Page_Load(object sender, EventArgs e)
{
//to see recently selected value
Response.Write("<script language=\"javascript\">alert('"+
drpdwnshowitems.SelectedValue + "')</script>");
if (!IsPostBack)
{
DataTable dtno = ShowItemsFunctions.Select_All_Numbers();
DataRow dr = dtno.NewRow();
dr["NoOfProduct"] = "--Select One--";
dtno.Rows.InsertAt(dr, 0);
drpdwnshowitems.DataSource = dtno;
drpdwnshowitems.DataTextField = "NoOfProduct";
drpdwnshowitems.DataValueField = "NoOfProduct";
drpdwnshowitems.DataBind();
}
try
{
countshowitem = float.Parse(Request.Cookies["NoOfShowItem"].Value.ToString());
drpdwnshowitems.SelectedValue = countshowitem.ToString();
}
catch (Exception ex)
{
countshowitem = 9;
drpdwnshowitems.SelectedValue = countshowitem.ToString();
}
}
protected void drpdwnshowitems_SelectedIndexChanged(object sender, EventArgs e)
{
countshowitem = int.Parse(drpdwnshowitems.SelectedValue.ToString());
Response.Cookies["NoOfShowItem"].Value = drpdwnshowitems.SelectedValue.ToString();
Response.Cookies["NoOfShowItem"].Expires = System.DateTime.Now.AddHours(2);
}
}
谢谢Adriien M代表你的答案,我会尝试这一个。希望这会起作用。 – Sunil 2014-09-06 17:20:37