<asp:DropDownList ID="SearchDropDownList" Runat="server">
    <asp:ListItem>服务器IP地址</asp:ListItem>
    <asp:ListItem>客户姓名</asp:ListItem>
    <asp:ListItem>业务员姓名</asp:ListItem>
    <asp:ListItem>出售时间</asp:ListItem>
</asp:DropDownList><asp:Button id="SearchButton" runat="server" text="Go" onclick="SearchButton_Click"></asp:Button>
后台代码里面
public void SearchButton_Click(object sender, System.EventArgs e)
{
    searchBy = SearchDropDownList.SelectedItem.Text;
    Response.Write(searchBy);
}
这样,不管选择什么,总是输出两次,选择出售时间,就输出  出售时间出售时间 
为什么会这样啊?请大家指点,谢谢

解决方案 »

  1.   

    Page_Load中加个
    if (!IsPostBack)
    {
    }
    试试
      

  2.   

    这样一定是提交了2次,
    按 popcode(枫.net)方法
    Page_Load中加个
    if (!IsPostBack)
    {
    }
    试试
    不行调式看程序怎么走的
      

  3.   

    没问题
    不过你的searchBy 没有生命先<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <meta http-equiv="Content-Language" content="gb2312" />
    <meta content="all" name="robots" />
    <meta name="Author" content="[email protected] ,活靶子" />
    <meta name="Copyright" content="www.AspxBoy.Com,自由版权,任意转载." />
    <meta name="Description" content="www.AspxBoy.Com" />
    <meta name="Keywords" content="www.AspxBoy.Com,活靶子,huobazi" />
    <title> New New Document</title>
    <script language="c#" runat="server">void SearchButton_Click(object sender, System.EventArgs e)
    {
       string searchBy = SearchDropDownList.SelectedItem.Text;
        Response.Write(searchBy);
    }</script>
    </head>
    <body>
    <form id="frm" runat="server">
    <asp:DropDownList ID="SearchDropDownList" Runat="server">
        <asp:ListItem>服务器IP地址</asp:ListItem>
        <asp:ListItem>客户姓名</asp:ListItem>
        <asp:ListItem>业务员姓名</asp:ListItem>
        <asp:ListItem>出售时间</asp:ListItem>
    </asp:DropDownList><asp:Button id="SearchButton" runat="server" text="Go" onclick="SearchButton_Click"></asp:Button>
    </form></body></html>
      

  4.   

    把 dropdownlist 的 viewstate = false,好吗!
      

  5.   

    但是那位兄台没viewstate = false也可以哦~~
      

  6.   

    而且我EnableViewState=False还是不行
      

  7.   

    怎搞的?这帮人不懂就不懂还乱说。我用过这东西,因为要加个参数
    如下:SearchDropDownList.SelectedItem[0].Text
    注意是中括号啊
      

  8.   

    楼上的,好像只有DropDownList.Items[0].Text吧,哪有SearchDropDownList.SelectedItem[0].Text?
      

  9.   

    晕哦~~
    SearchDropDownList.SelectedItem[0].Text显然是不对的~~
    searchBy 没有声明也是不对的,不然我程序怎么编译的哦~~晕。。
      

  10.   

    DropDownList的AutoPostBack属性设置为true
      

  11.   

    显然不对啦~~
    AutoPostBack肯定不行,我也测试了,证明了不行
      

  12.   

    估计是由于其它原因,你没有贴出完整的代码(比如searchBy不知道在那里声明的),仅从给出的代码看没有问题,我也测试了一下,只输出一个值。测试代码如下:<Script Language="C#" Runat="server">
    public void SearchButton_Click(object sender, System.EventArgs e)
    {
        string searchBy = SearchDropDownList.SelectedItem.Text;
        Response.Write(searchBy);
    }
    </Script>
    <form runat=server >
    <asp:DropDownList ID="SearchDropDownList" Runat="server">
        <asp:ListItem>服务器IP地址</asp:ListItem>
        <asp:ListItem>客户姓名</asp:ListItem>
        <asp:ListItem>业务员姓名</asp:ListItem>
        <asp:ListItem>出售时间</asp:ListItem>
    </asp:DropDownList><asp:Button id="SearchButton" runat="server" text="Go" onclick="SearchButton_Click"></asp:Button></form>
      

  13.   

    我是申明的一个控件Search.ascx
    <asp:DropDownList ID="SearchDropDownList" Runat="server">
        <asp:ListItem>服务器IP地址</asp:ListItem>
        <asp:ListItem>客户姓名</asp:ListItem>
        <asp:ListItem>业务员姓名</asp:ListItem>
        <asp:ListItem>出售时间</asp:ListItem>
    </asp:DropDownList>
    后台里面就是一个函数,就是这个。因为我发现搜索的时候总不对,所以作个这样的函数来测试。
    public void SearchButton_Click(object sender, System.EventArgs e)
    {
    string searchBy = SearchDropDownList.SelectedItem.Text;
    Response.Write(searchBy);
    }然后在页面里面调用这个控件,每个页面左下脚显示搜索~
    但是页面里面都输出2次~~是控件的原因吗?请帮忙看看,我不知道我有没有说清楚。如果没有说明白,我等下把整个解决方案弄上来。其实我早想弄来给你看,但是我刚学,觉得写的垃圾,不好意思。
      

  14.   

    你把onclick="SearchButton_Click"这一句去掉
    因为你在cs文件里已经有click事件了,再在html页面加就成了两个了
    <asp:Button id="SearchButton" runat="server" text="Go" onclick="SearchButton_Click"></asp:Button>
      

  15.   

    <asp:Button id="SearchButton" runat="server" text="Go" ></asp:Button>