2014-09-05 75 views
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); 
} 
} 

回答

0

我不确定,但您可以在Page_Load的结尾处动态设置SelectedIndexChanged属性?

drpdwnshowitems.SelectedIndexChanged += drpdwnshowitems_SelectedIndexChanged; 

由于物业是的SelectedValue设置后,也许该事件将不会触发第一次......

+0

谢谢Adriien M代表你的答案,我会尝试这一个。希望这会起作用。 – Sunil 2014-09-06 17:20:37