1

我在用户控件中使用 AJAX.Net (3.5)。用户控件包含一个UpdatePanel,在UpdatePanel 内部有一个MultiView。ScriptManager 包含在充当用户控件容器的页面中。

要在视图之间切换,用户控件包含一个简单的按钮。当我单击它时,视图会更改,因此隐藏旧内容并显示新内容。我的问题是内容根本没有隐藏。视图发生变化并显示新内容,但旧内容仍保留在页面上。为了隔离问题,我尝试更改简单标签的多视图和切换可见性,但行为是相同的。有任何想法吗?

4

3 回答 3

2

哦,我懂。那就没事了。这里的问题不在于 Ajax。只是你不能在<table>标签中嵌入一些东西。在这种情况下,您可以尝试与控件不同的东西<table>。也许是一个<div>或别的什么。不知道你具体是什么情况。也许你解释一下你想要达到的结果,这样我就可以给你一些建议。

问候

于 2009-05-04T20:32:48.173 回答
1

如果您在 UpdatePanel 之外有表格的一部分,那么 AJAX.Net 似乎不能很好地工作。

在我的控件上,我想显示或隐藏表格的某些行。我在更新面板中只包含了trtd标签。

要重现问题:

<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内移动表格标签,一切正常。

于 2009-05-04T20:22:47.357 回答
0

称呼

updatepanel.Update() 

对更新面板进行更改后

或尝试

 updatepanel.Controls.Clear();
于 2009-05-04T14:04:40.213 回答