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

我用UpdatePanel DropDownList怎么选择都是初始第一个值???

我用UpdatePanel DropDownList怎么选择都是初始第一个值???同页面的其它这样的都正常

代码如下,能帮我解决的高手,最好能直接Q我急7417619
<asp:UpdatePanel ID="UpdatePanel6" runat="server" UpdateMode="Conditional">
                                            <ContentTemplate>
                                                 <asp:DropDownList ID="ddlZuBie" runat="server" OnSelectedIndexChanged="ddlZuBie_SelectedIndexChanged"
                                                Width="75px" AutoPostBack="True">
                                            </asp:DropDownList>
                                            <asp:DropDownList ID="ddlChangPingLeiXing" runat="server" Width="74px">
                                                <asp:ListItem>产品类型</asp:ListItem>
                                            </asp:DropDownList>
                                            </ContentTemplate>
                                            <Triggers>
                                                <asp:AsyncPostBackTrigger ControlID="ddlZuBie" />
                                            </Triggers>
                                        </asp:UpdatePanel> --------------------编程问答-------------------- 哪个DropDownList? --------------------编程问答-------------------- 第一个;<asp:DropDownList ID="ddlZuBie" runat="server" OnSelectedIndexChanged="ddlZuBie_SelectedIndexChanged"
--------------------编程问答-------------------- OnSelectedIndexChanged="ddlZuBie_SelectedIndexChanged"

因为这是回调,也就是你改一次选项,都会调用page_load当然就是刷新页面了
刷了页面,当然选的还是第一项 --------------------编程问答-------------------- 那要怎么做?
为什么我同一个页面的其它这们的情况又没问题呢?
--------------------编程问答-------------------- // ASP.NET AJAX 不熟悉
// 也许,绑定代码放在 

if(!IsCallback) {
     // 这里
} --------------------编程问答--------------------
引用 5 楼 jinglecat 的回复:
//   ASP.NET   AJAX   不熟悉
//   也许,绑定代码放在  

if(!IsCallback)   {
          //   这里
}

我也遇到了这样的问题,但是DropDownList绑定数据的代码放在
if(!IsCallback)   {
          //   这里
}
也是一样的效果:选择都是初始第一个值 --------------------编程问答-------------------- 你先获取上级页面发过来的地址,看看是不是本页面的地址,如果是就属于重定向。加个if判断 --------------------编程问答-------------------- 你先获取上级页面发过来的地址,看看是不是本页面的地址,如果是就属于重定向。加个if判断 --------------------编程问答-------------------- 把ddl的已选值存到ViewState中,页面加载的时候取出来就OK --------------------编程问答-------------------- if(!IsCallback)   

  //这里绑定内容方法

试下! --------------------编程问答--------------------
引用 9 楼 hrabeyond 的回复:
把ddl的已选值存到ViewState中,页面加载的时候取出来就OK

这个操作其实不用自己去做啊,在页面提交的时候,本身就是会把控件状态及值序列化成一个字符串放在ViewState里的啊

楼主只在在Page_Load里加个判断就成,if(!IsPostBack){do something} --------------------编程问答--------------------

page_load
{
  if(!ispostback)
{
 dropdownlist.items.add();
}
}
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,