asp.net中关于当前页面的一个传值后刷新的问题

时间:2022-08-25 17:22:15
现在我是这样的,一个updatepanel下有一个listbox控件,当然还有其他控件,
现在我在updatepanel外有一个层,层里面有控件,我希望在层里面选择一个值返回到updatepanel内的listbox上,我现在的问题是我调试了下,值确实已经赋值了,但是因为updatepanel的缘故,listbox没有刷新,导致前台值还没有显示。
请教下,这个要如何处理

9 个解决方案

#1


<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="listbox" EventName="Click" />
        </Triggers>

#2


引用 1 楼 gaoqianqian5 的回复:
<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="listbox" EventName="Click" />
        </Triggers>

我listbox没有click事件,我是通过层里面的比如gridview的双击事件返回值到listbox中的

#3


貼出代碼看看

#4


用js去赋值。

#5



 function SelConditionPro() {
       __doPostBack('btnSelCondition', '');
 }  
 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
 <asp:Button ID="btnSelCondition" runat="server" Text="︾添加所有条件" 
                                    onclick="btnSelCondition_Click" />
 <asp:ListBox ID="lstCondition" runat="server" Height="200px" Width="90%"></asp:ListBox> 
</ContentTemplate> 
     </asp:UpdatePanel> 
  <div id="popConditionDiv" class="popCondDiv" style="display:none;"> 
  <input type="button" value="确定" onclick="javascript:SelConditionPro();" style="width:80px"    />

   </div>  


     protected void btnSelCondition_Click(object sender, EventArgs e)
        { 
            //string strConEnglish = ViewState["sEnglish"].ToString();
                //string strConChinese = ViewState["sChinese"].ToString();

                string[] sEnglish = strConEnglish.Split(new string[] { "<>" }, StringSplitOptions.None);
                string[] sChinese = strConChinese.Split(new string[] { "####" }, StringSplitOptions.None);
                ListItemCollection listcon = new ListItemCollection();
                for (int i = 0; i < sChinese.Length; i++)
                {
                    ListItem lst = new ListItem();
                    lst.Text = sChinese[i];
                    lst.Value = sEnglish[i];
                    lstCondition.Items.Add(lst);
                }
         }

#6


上面的是代码

#7


你貼的代碼沒問題啊

#8


对啊,所以才不知道问题在哪里啊,我现在就是想在updatepanel外将值返回到updatepanel内的控件上,
现在出现的是实际值已经附上了,但是因为updatepanel没有回发,所以值没能刷新显示到界面上

#9


那就把外面的控件也包到updatepanel中

#1


<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="listbox" EventName="Click" />
        </Triggers>

#2


引用 1 楼 gaoqianqian5 的回复:
<asp:UpdatePanel ID="upnl" runat="server" UpdateMode="Conditional">
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="listbox" EventName="Click" />
        </Triggers>

我listbox没有click事件,我是通过层里面的比如gridview的双击事件返回值到listbox中的

#3


貼出代碼看看

#4


用js去赋值。

#5



 function SelConditionPro() {
       __doPostBack('btnSelCondition', '');
 }  
 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
 <asp:Button ID="btnSelCondition" runat="server" Text="︾添加所有条件" 
                                    onclick="btnSelCondition_Click" />
 <asp:ListBox ID="lstCondition" runat="server" Height="200px" Width="90%"></asp:ListBox> 
</ContentTemplate> 
     </asp:UpdatePanel> 
  <div id="popConditionDiv" class="popCondDiv" style="display:none;"> 
  <input type="button" value="确定" onclick="javascript:SelConditionPro();" style="width:80px"    />

   </div>  


     protected void btnSelCondition_Click(object sender, EventArgs e)
        { 
            //string strConEnglish = ViewState["sEnglish"].ToString();
                //string strConChinese = ViewState["sChinese"].ToString();

                string[] sEnglish = strConEnglish.Split(new string[] { "<>" }, StringSplitOptions.None);
                string[] sChinese = strConChinese.Split(new string[] { "####" }, StringSplitOptions.None);
                ListItemCollection listcon = new ListItemCollection();
                for (int i = 0; i < sChinese.Length; i++)
                {
                    ListItem lst = new ListItem();
                    lst.Text = sChinese[i];
                    lst.Value = sEnglish[i];
                    lstCondition.Items.Add(lst);
                }
         }

#6


上面的是代码

#7


你貼的代碼沒問題啊

#8


对啊,所以才不知道问题在哪里啊,我现在就是想在updatepanel外将值返回到updatepanel内的控件上,
现在出现的是实际值已经附上了,但是因为updatepanel没有回发,所以值没能刷新显示到界面上

#9


那就把外面的控件也包到updatepanel中