当选择单选按钮改变时,我想在下一个表单元格中显示/隐藏面板。我让它隐藏并显示正常但每次它都会使页面刷新到顶部。他们是一种阻止刷新的方法吗?我想隐藏并动态显示面板。
<table>
<tr>
<td>
<asp:RadioButtonList runat="server" ID="rblPlayerStatus" AutoPostBack="true" >
<asp:ListItem>Free Agent</asp:ListItem>
<asp:ListItem>I have teammate</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
<asp:Panel runat="server" ID="pnlTeamMate">
<asp:Label runat="server" ID="lblTeamMate" Text="Choose Teammate" />
</asp:Panel>
</td>
</tr>
</table>
答案 0 :(得分:2)
使用AJAX.ASP.Net库 - 然后添加ScriptManager项和UpdatePanel。 UpdatePanel中的任何内容都将通过AJAX更新,而不是整页刷新。
答案 1 :(得分:0)
您是否有基于哪个服务器端逻辑显示和隐藏面板。如果是,那么您可以使用更新面板控件。如果它只是客户端逻辑,如
如果选择了Free Agent,则显示FreeAgent Panel其他Team Panel
使用javascript或更确切地说jquery来实现相同的目标。
答案 2 :(得分:0)
从您的代码中,我无法看到您隐藏的位置并显示该面板。您可以使用更新面板,但最好在需要从服务器检索更多信息时使用。
如果您只是想显示和隐藏面板,可以使用Javascript更好地完成此操作,方法是在OnClick事件中添加一些代码以设置面板的可见性css属性。谷歌有一些关于如何做到这一点的教程。像this这样的东西应该足以让你开始。
答案 3 :(得分:0)
解决方案是使用AJAX(UpdatePanel和ScriptManager)或删除
AutoPostback = true
并使用JavaScript显示/隐藏面板