当前位置:编程学习 > C#/ASP.NET >>

autopostback="true"后,下拉列表选择出现的错误!

我有两个选项卡(添加与修改/删除)用JS来实现的转换。
现在 我的问题是:我选择修改/删除选项卡 里面有个选择客户的下拉列表
想实现:根据选择的客户,其他相关信息的文本框全部自动填上。但是实际上没有,下拉列表设置了autopostback="true"后,下拉列表选择了之后,页面直接跳转回添加这个选项卡这个页面。(实际上说当前页)
请问这种情况该怎么解决~用JS也行 求具体~谢谢大家~~~
我写的代码是:
 protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
           //绑定下拉列表里的值
            ClientInfoDAO clientDao = new ClientInfoDAO();
            DataTable dt = clientDao.selectClient();
            choosePro.DataSource = dt;
            choosePro.DataTextField="Fullname";
            choosePro.DataValueField = "ClientId";
            choosePro.DataBind();

        }
    }


 protected void choosePro_SelectedIndexChanged(object sender, EventArgs e) {
            //根据选中的下拉列表值绑定各个文本框的值
            string id = choosePro.SelectedValue;
            ClientInfoDAO clientDao = new ClientInfoDAO();
            DataTable n = clientDao.selectClientAll(id); 
            txtAddress1.Text = n.Rows[0][3].ToString();
            txtBank1.Text = n.Rows[0][5].ToString();
            txtBankNum1.Text = n.Rows[0][6].ToString();
            txtContacter1.Text = n.Rows[0][8].ToString();
            txtConTel1.Text = n.Rows[0][9].ToString();
            txtEmail1.Text = n.Rows[0][10].ToString();
            txtFax1.Text = n.Rows[0][7].ToString();
            txtFullName1.Text = n.Rows[0][1].ToString();
            txtPostNum1.Text = n.Rows[0][4].ToString();
            txtShortName2.Text = n.Rows[0][2].ToString();
        
        
    }


<asp:Label ID="chosePro" runat="server" Text="选择客户:" ></asp:Label>
                         <asp:DropDownList ID="choosePro" runat="server" CssClass="txtBox" AutoPostBack="True" 
                         >
                        </asp:DropDownList>





--------------------编程问答-------------------- 用ajax 来实现,之前不是给过你例子么? --------------------编程问答-------------------- 你每选择一次下拉框就会刷新一次页面,刷新之后肯定是恢复之前打开的状态,所以还是用ajax实现吧 --------------------编程问答-------------------- 楼主的思路不对

应当是每次SelectedIndexChanged之后,都去重新加载一次DataTable(可以从数据库中重新加载,也可以使用ViewState里面的内容),然后再修改对应DataTable里面的值,然后再重新绑定。而不是去修改页面前端的值,页面上永远只是为了满足显示的。 --------------------编程问答--------------------
引用 2 楼 aspnetchengxu 的回复:
你每选择一次下拉框就会刷新一次页面,刷新之后肯定是恢复之前打开的状态,所以还是用ajax实现吧


其实 我是对ajax不熟悉,你能具体说说么? --------------------编程问答--------------------
引用 1 楼 sandy945 的回复:
用ajax 来实现,之前不是给过你例子么?

比较笨 能具体点说说?呵呵 毕竟没用过ajax 麻烦你了~~嘻嘻 谢谢哈 --------------------编程问答-------------------- 我觉得不是笨,是你压根就没看。 --------------------编程问答--------------------
引用 6 楼 sandy945 的回复:
我觉得不是笨,是你压根就没看。

额 好吧~~原来还有这样想的啊~~哈哈~~ --------------------编程问答-------------------- --------------------编程问答--------------------
点你的img 跳到淘宝去 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,