代码之家  ›  专栏  ›  技术社区  ›  larryq

ASP.NET列表框选择在面板中不起作用?

  •  0
  • larryq  · 技术社区  · 16 年前

    从列表框中选择一些项后,处理该列表框时遇到问题。在我的标记中,列表框包含在asp:面板中,在代码隐藏中加载页面时填充。那部分工作得很好。

    当我选择不同的项目并提交时,我遇到了麻烦。我的处理程序循环遍历listbox项,但看不到任何被选中的项。我不知道为什么。

    这是加价:

                <asp:Panel ID="panEdit" runat="server" Height="180px" Width="400px" CssClass="ModalWindow">
                <table width="100%">
                 <asp:label runat = "server">Choose your items</asp:label>
    
                    <tr>
                        <td>
                            <asp:ListBox ID="lstFundList" runat="server" SelectionMode="Multiple" OnLoad="lstFundList_LoadData">
    
                            </asp:ListBox>
                        </td>
                    </tr>
                 </table>
    
                 <asp:Button ID="btnUpdate" runat="server" Text="Update" OnClick="btnUpdate_OnClick"/>
                 <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClientClick="$find('ModalPopupExtender1').hide(); return false;" />
    
               </asp:Panel>
    

    在我的 btnUpdate_OnClick 处理程序我看不到任何标记为选中的列表框项。我想在回邮和小组讨论方面有什么奇怪的事情发生?

    3 回复  |  直到 16 年前
        1
  •  1
  •   jaltiere    16 年前

    我同意,这很可能是回邮问题。确保填充列表框的代码包装如下:

    if (!Page.IsPostBack)
    {
       // populate your list
    }
    
        2
  •  1
  •   Mark Brackett    16 年前

    …在代码隐藏中的页面加载期间填充

    是包裹在 IsPostback 有条件的?如果没有,那么您只是覆盖返回的值。

    ` onload=“lstfundlist\u loaddata”

    你也可以检查一下那个方法…

        3
  •  0
  •   larryq    16 年前

    谢谢大家。果然,这是一个ispostback问题。它在我们所有的页面中都使用过(毫无疑问是你的页面),并且已经成为一种背景噪音,我只是错过了这里。