ASP.Net ListBox选项在Panel中不起作用?

时间:2010-04-30 23:52:14

标签: asp.net postback panel

从中选择一些项目后,我无法处理列表框。在我的标记中,列表框包含在asp:面板中,并在代码隐藏中的页面加载期间填充。那部分工作正常。

当我选择各种物品并提交我遇到麻烦时。我的处理程序遍历列表框项目,但没有看到任何被选中。我不确定为什么。

这是标记:

            <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 个答案:

答案 0 :(得分:1)

  

...在代码隐藏

中的页面加载期间填充

这是否以IsPostback条件包裹?如果没有,那么你只是覆盖返回的值。

  

`的OnLoad = “lstFundList_LoadData”

您可能也想检查该方法....

答案 1 :(得分:1)

我同意,这很可能是一个回发问题。确保填充列表框的代码包含在以下内容中:

if (!Page.IsPostBack)
{
   // populate your list
}

答案 2 :(得分:0)

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