ASP.Net ListBox не работает в Panel? - PullRequest
0 голосов
/ 01 мая 2010

У меня проблемы с обработкой списка после выбора некоторых элементов из него. В моей разметке список находится внутри панели 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 ]

1 голос
/ 01 мая 2010

Согласен, это скорее всего проблема с обратной передачей. Убедитесь, что код, который заполняет список, заключен в нечто вроде этого:

if (!Page.IsPostBack)
{
   // populate your list
}
1 голос
/ 01 мая 2010

... заполняется при загрузке страницы в коде

Это завернуто в IsPostback условно? Если нет, то вы просто перезаписываете возвращаемые значения.

`OnLoad = "lstFundList_LoadData"

Возможно, вы тоже захотите проверить этот метод ....

0 голосов
/ 03 мая 2010

Спасибо всем. Конечно же, это оказалось проблемой IsPostBack. Он используется на всех наших страницах (и, несомненно, на ваших) и стал своего рода фоновым шумом, и я просто пропустил его здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...