DropdownList的内容在Page_load 中加载.在页面上选择DropdownList中的一项,但当页面内容有了变化刷新后,DropdownList又重新回到了第一项,怎样解决这个问题呀,刷新后DropdownList显示的还是我选择的项.

解决方案 »

  1.   

    DropdownList.Item(DropdownList.SelectedIndex).Checked=True
      

  2.   

    在這裡面邦定:pageLoad函數{
       if(!this.IsPostBack)
       {
         //DropdownList的内容加载
       }
    }
      

  3.   

    if(!Page.Ispostback)
    {
       Dropdownlist...
    }
      

  4.   

    if(!Page.Ispostback)
    {
       Dropdownlist...
    }
    ------------------------------------------------
    这个我知道,但是页面其它控件发生变化,又会重新加载了
      

  5.   

    enableviewstate=True
    或者做个隐藏域用来存放选中的数据
      

  6.   

    在Page_Load里写{
       if(!this.IsPostBack)
       {
         //这里写DropdownList的内容加载
       }
      

  7.   

    if(!Page.Ispostback)
    {
       Dropdownlist...
    }
    ------------------------------------------------
    这个我知道,但是页面其它控件发生变化,DropdownList显示项又重新回到了第一项
      

  8.   

    思路一:
    用session来判断。
    你可以设置AutoPostBack="True",那么DropdownList中选项被改变,页面就会重新load一次。重新load的时候去改变session["listvalue"]而DropdownList默认选择值就根据这个session值来判断。代码范例:
    <asp:dropdownlist id="linetype" runat="server" AutoPostBack="True" Width="150px"></asp:dropdownlist>if(!this.IsPostBack)
    {
    //显示分类置零
    System.Web.HttpContext.Current.Session["showtype"]="0";
    ...
    }private void linetype_SelectedIndexChanged(object sender, System.EventArgs e)
    {
    if(linetype.SelectedIndex==0)
    {
    System.Web.HttpContext.Current.Session["showtype"]="0";
    }
    else
    {
    System.Web.HttpContext.Current.Session["showtype"]=linetype.SelectedValue.ToString();
    }
    }思路二:
    用javascript实现客户端list用html控件。
    数据绑定就用<repeater></repeater>。(说明:那个控件怎么拼写忘了)
    然后下拉框旁边放一个textbox,通过js改变下拉框来改变这个textbox值。代码范例:
    <select id="select1" onchange="触发事件,把选中value传到textbox1">
    <repeater>
    数据绑定到这里
    </repeater>
    </select><asp:textbox id="textbox1" runat="server" Width="0px"></asp:textbox>提交则提交textbox1。如果发生其它page_load事情,就根据textbox1的值,来返回js到select默认选项
    Page.RegisterStartupScript("dd","<script>defaultchange('textbox1.text');</script>");
    function defaultchange(str)
    {
      if(document......value==str)
       {
         document......select = true;
       }
    }代码手写的,比较乱,主要这个意思,自己再改改。