我有一个模式窗口,窗口上有一个label1和一个DropDownList,它的SelectedIndexChanged事件就是label1.Text =  label1.Value = DropDownList1.SelectedItem.Value;但无论我怎么选择下拉框的,label1的值几乎就没变过,(有变化过一两次),跟踪过 label1.Value
的值,都有变化,是正确的,但就是不能显示出来。我在论坛上找过,都说是缓存的原因,但我加了各种清除缓存的代码,都达不到效果。问题跟下面这个帖一样,
http://community.csdn.net/Expert/topic/4379/4379902.xml?temp=.9816706
但 http://dotnet.aspx.cc/Exam/ShowModal1.aspx已经上不去了,有没有谁能解决呢,谢谢!我已经在窗口上加上了
<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
<META HTTP-EQUIV="expires" CONTENT="Mon, 23 Jan 1978 20:52:30 GMT"> 
----------------------------
Response.Expires = -100
---------------------------
等来清空缓存,但始终没用。

解决方案 »

  1.   

    label1.Text =  label1.Value = DropDownList1.SelectedItem.Value;
    这个lable1。value出现的好诡异啊,能这样用么?
    Label控件有这样的属性么?
    其次你把这个连等式分开写不行么? private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Response.Expires = 0;
    Response.Cache.SetNoStore();
    Response.AppendHeader("Pragma", "no-cache"); if (!IsPostBack)
    {..}
                     }
    这样写了清除缓存?
      

  2.   

    呵呵,随手写错了,label1.Text = DropDownList1.SelectedItem.Value;
    那请问jimu8130,该怎么解决这个问题呢?
    你的清缓存办法我试过了,不行!!
    下面这个也不成
    Response.Cache.SetNoServerCaching();
    Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
    Response.Cache.SetNoStore();
    Response.Cache.SetExpires(new DateTime(1900,01,01,00,00,00,00));
      

  3.   

    都说到这种程度了,应该不是缓存的问题了怀疑dropdownlist有没有加AutoPostBack="True"属性(模态窗口里postback还要注意在页面上加<base target=_self>)如果还不是,最好查一下数据绑定的代码,page_load里面要判断Page.IsPostBack,==false才能绑定,否则永远是第一项
      

  4.   

    哪位老大帮我解决一下这个问题吧,谢谢!
    上面astra1说的,我都查过,没问题,即使下拉框永远是第一项也成啊!Label也应该显示它的值,但没有,空空的!
      

  5.   

    在打开模式窗口的url里加一个随机的参数,这样就可以解决不会更新模式窗口的问题了。
    var tm = Math.Randon()
    showmodaldialog(Url+"?tmv = "+tm,"","");