我在一个用户控件中使用AJAX.Net (3.5)。用户控件包含一个UpdatePanel,而在UpdatePanelthere内部是一个MultiView。ScriptManager包含在充当用户控件容器的页面中。
为了在视图之间切换,usercontrol包含一个简单的按钮。当我单击它时,视图将更改,以便隐藏旧内容而显示新内容。我的问题是内容根本不是隐藏的。视图将更改,并显示新内容,但旧内容仍保留在页面上。为了隔离问题,我尝试更改多视图和切换简单标签的可见性,但行为是相同的。有什么想法吗?
发布于 2009-05-04 20:22:47
如果在UpdatePanel之外有一个表的一部分,那么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中,一切都会正常工作。
发布于 2009-05-04 20:32:48
哦我明白了。那就好了。这里的问题不是Ajax。只是你不能在<table>标签中嵌入一些东西。在这种情况下,您可以尝试使用<table>控件以外的其他控件。也许是<div>或者别的什么。我不知道你到底遇到了什么情况。也许你可以解释一下你想要达到的结果,这样我就可以给你一些建议。
问候
发布于 2009-05-04 14:04:40
打电话
updatepanel.Update() 在对updatepanel进行更改后
或者尝试
updatepanel.Controls.Clear();https://stackoverflow.com/questions/820218
复制相似问题