AJAX.Net - UpdatePanel не удаляет старый контент - PullRequest
0 голосов
/ 04 мая 2009

Я использую AJAX.Net (3.5) внутри пользовательского контроля. Пользовательский элемент управления содержит UpdatePanel, а внутри UpdatePanelt есть MultiView. ScriptManager включен в страницу, которая действует как контейнер для пользовательского контроля.

Для переключения между представлениями пользовательский контроль содержит простую кнопку. Когда я щелкаю по нему, вид меняется, поэтому старый контент скрывается, а новый отображается. Моя проблема в том, что контент вообще не скрыт. Вид изменится, и отобразится новый контент, но старый останется на странице. Чтобы изолировать проблему, я попытался изменить многовидность и переключить видимость простой метки, но поведение остается тем же. Есть идеи?

Ответы [ 3 ]

1 голос
/ 05 мая 2009

о, я понимаю. Тогда все в порядке. Проблема не в Ajax здесь. Просто вы не можете вставить что-то в теги <table>. В этом случае вы можете попробовать что-то отличное от <table>. Может быть <div> или что-то еще. Я не знаю точно, какая у вас ситуация. Может быть, вы объясните результат, которого хотите достичь, чтобы я мог дать вам несколько советов.

Привет

0 голосов
/ 05 мая 2009

Кажется, что AJAX.Net работает не очень хорошо, если у вас есть часть таблицы вне UpdatePanel.

На моем контроле я хочу показать или скрыть некоторые строки таблицы. Я включил в панель обновления только теги tr и td .

Чтобы воспроизвести проблему:

<table>
<asp:UpdatePanel ID="UpdatePanel" runat="server">
    <ContentTemplate>
        <tr>
            <td>
                <asp:Label ID="lblToShow" runat="server" Text="Label to show" Visible="false" />
                <br />
                <asp:Label ID="lblToHide" runat="server" Text="Label to hide" />
            </td>
        </tr>
    </ContentTemplate>
</asp:UpdatePanel>
</table>

Если вы измените видимость, используя:

lblToShow.Visible = true;
lblToHide.Visible = false;

Текст обеих меток отображается на странице (lblToHide не скрывает)

Если вы переместите таблицу теги внутрь UpdatePanel, все будет работать нормально.

0 голосов
/ 04 мая 2009

звонок

updatepanel.Update() 

после внесения изменений в панель обновлений

или попробуйте

 updatepanel.Controls.Clear();
...