содержимое не обновляется в UpdatePanel (в веб-части) - PullRequest
1 голос
/ 30 января 2012

Мне нужно обновить элементы управления asp (метка и таблица) в моей веб-части (SharePoint2010), когда пользователь выбирает элемент в элементе управления DropDownList. Я добавил EventHandler в DropDownList, который редактирует метку и ячейки таблицы.

Я использую asp: UpdatePanel с триггером asp: AsyncPostBackTrigger.

При отладке в VS2010 я вижу, что вызывается метод на стороне сервера, обновляются метка и ячейки таблицы.

Но элементы управления не обновляются в веб-части при возврате вызова AJAX. И когда я отслеживаю ответ HTTP в консоли FireBug, я вижу, что сервер не возвращает обновленные значения элементов управления.

Вот код ascx:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" 
    OnSelectedIndexChanged="listBoxSelectedIndexChanged">
</asp:DropDownList>

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
        <asp:Label ID="testlabel" runat="server">test</asp:Label>
        <asp:Table ID="Table1" runat="server" Height="100px" Width="253px" 
            CellPadding="1" CellSpacing="1" CssClass="marcheFonds">
        </asp:Table>

    </ContentTemplate>

    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="DropDownList1" EventName="SelectedIndexChanged" />
    </Triggers>
</asp:UpdatePanel>

И в методе listBoxSelectedIndexChanged на стороне сервера (частичный класс ListeUserControl: UserControl) я делаю это:

Table1.Rows[i].Cells[j].Text = rate.month1;
Table1.Rows[i].Cells[j].Text = rate.month2;
Table1.Rows[i].Cells[j].Text = rate.month3;
Table1.Rows[i].Cells[j].Text = rate.month6;
Table1.Rows[i].Cells[j].Text = rate.month12;

testlabel.Text = rate.code;

Я не использую gridview, потому что структура таблицы сложна.

Есть идеи, пожалуйста?

1 Ответ

0 голосов
/ 31 января 2012

Пожалуйста, посмотрите здесь на комментарии пользователей. Проблемы с обратной передачей одинаковы в SharePoint 2010. Попробуйте реализовать EnsurePanelFix () - Метод.

...