if (!this.IsPostBack)
{
 增加
}

解决方案 »

  1.   

    Jouzen()说的对,讲解:
    if(!IsPostBack){}中的语句仅仅在你第一次装载该页面时执行,否则你每次刷新页面都要执行PageLoad()中的语句。
      

  2.   

    protected void Page_Load() {
    if (!this.IsPostBack)
    {
       aa.Items.Add("abc");
       aa.Items.Add("def");
    }
    因为每次页面载入会自动执行Page_Load。所以如果不进行判断,每次都会自动执行Page_Load中的语句。
      

  3.   

    if (!this.IspostBack)
    {
    protected void Page_Load() {
    aa.Items.Add("abc");
    aa.Items.Add("def");
    }
    你这个只要在第一次加载页面时加入就可以了,
      

  4.   

    谢谢各位大侠,我按照你们的方法,成功了,其实我是想把数据库的内容输入dropdownlist的,例如如下,运行后确实没有重复增加的现象了,例如数据库输入dropdownlist的是abc,def,hij吧,但我不论选abc,def,还是hij,dropdownlist里都是显示abc的,Message.InnerHtml 也老是显示abc,如果是用上面的输入方法就没这个问题,请问怎么办?请再帮我一下,谢谢!<%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>
    <html><script language="C#" runat="server">protected void Page_Load() {
      if (!this.IsPostBack)
    {
    SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=test;Trusted_Connection=yes");        SqlDataAdapter myCommand = new SqlDataAdapter("select * from list", myConnection);            DataSet ds = new DataSet();
                myCommand.Fill(ds, "list");int number= ds.Tables["list"].Rows.Count;
    aa.Items.Clear();
    for (int i=0; i<number; i++){  
    aa.Items.Add(ds.Tables["list"].Rows[i]["aa"].ToString().Trim()); }     }    }protected void look(Object sender, EventArgs e)
    {Message.InnerHtml =aa.SelectedItem.Value.ToString();        }
    </script>
    <body>
    <form method=post runat=server><center>
                        
    <asp:dropdownlist id="aa" runat=server OnSelectedIndexChanged="look" AutoPostBack="true">                         <asp:listitem></asp:listitem>
                                        </asp:dropdownlist>
     
    </center>
    <div id="Message" style="font: 10.5pt 宋体;padding:0,15,15,15" runat="server"/>
    </form>
    </body>
    </html>
      

  5.   


    <asp:dropdownlist id="aa" runat=server OnSelectedIndexChanged="look" AutoPostBack="true">
    改为
    <asp:dropdownlist id="aa" runat=server OnSelectedIndexChanged="look" AutoPostBack="false">
      

  6.   

    dragontt(龙人):
    我这个dropdownlist的反应还牵连另外一个dropdownlist的,我上面的只是简化的例子,有别的方法吗?
      

  7.   

    是选择了之后
    又变成默认的选项了吗?你的EnableViewState属性设定是什么?
    @ Page中的
    和asp:dropdownlist
    中的
    都设为true试试如果,还是有问题的话
    应该是你在其他的地方,对这个dropdownlist进行了重新
    选择
    最好把代码贴出来
      

  8.   

    真的是这样的,例如把数据库部分:SqlConnection myConnection = new SqlConnection("server=(local)\\NetSDK;database=test;Trusted_Connection=yes");        SqlDataAdapter myCommand = new SqlDataAdapter("select * from list", myConnection);            DataSet ds = new DataSet();
                myCommand.Fill(ds, "list");int number= ds.Tables["list"].Rows.Count;
    aa.Items.Clear();
    for (int i=0; i<number; i++){  
    aa.Items.Add(ds.Tables["list"].Rows[i]["aa"].ToString().Trim()); }改成以下就可以运行正常,很奇怪的,我把xp也重装了.string kk="ee";
    aa.Items.Clear();
    for (int i=0; i<4; i++){ 
    kk=kk+"w";
    aa.Items.Add(kk); }
      

  9.   

    的确是有够奇怪
    你把
    int number= ds.Tables["list"].Rows.Count;
    aa.Items.Clear();
    for (int i=0; i<number; i++){  
    aa.Items.Add(ds.Tables["list"].Rows[i]["aa"].ToString().Trim());
    改为
    aa.DataSource = ds.Tables["list"].DefaultView;
    aa.DataTextField = "aa";
    aa.DataBind();试试
      

  10.   

    dragontt(龙人):
    我试过了你,不行,原来我的数据表装的是中文dropdownlist,我把它们改成英文后,就可以正常运行了,看来还是数据表格里的中文造成的,我装的是中文xp,中文sql,怎么办?
      

  11.   

    我还把以下的改成中文,也出现这种问题:string kk="ee";
    aa.Items.Clear();
    for (int i=0; i<4; i++){ 
    kk=kk+"w";
    aa.Items.Add(kk); }改成:
    string kk="我";
    aa.Items.Clear();
    for (int i=0; i<4; i++){ 
    kk=kk+"你";
    aa.Items.Add(kk); }把更改的部分代替数据库的部分,也出现这个问题,你可以在你那边试一下吗?
      

  12.   

    就是dropdownlist的内容是英文,就可以正常,如果是中文,就只能老是显示第一个,看来这与我的environment设置有关,怎么办?
      

  13.   

    你看一下
    你的Web.config文件中
    <globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
    设定的值是什么
      

  14.   

    果然是web.config的问题,真要命啊,这问题烦了我两天了.谢谢你,dragontt(龙人),谢谢各位:)))