这听起来很简单,但我一直在努力。在后面的代码中使用jQuery - 回调刷新页面
我有一个asp.Net页面和页面后面的相应代码。我的用户输入一个新的密码,然后页面后面的代码检查是否可以(足够长,有一些正则表达式来检查不允许的字符等)。如果密码正常,后面的代码将执行sql查询来更新数据库。
如果查询成功,我想隐藏密码输入div并显示password-successful-create div,这给了我的用户进一步的指示。我一直使用jQuery在php中轻松完成此操作。
我的问题:我刚刚描述的工作都是在服务器端完成的。我可以使用ClientScriptManager(RegisterStartupScript)将相应的jQuery脚本发送回客户端。细腻而华丽,但回到服务器的回调会刷新页面,因此页面会刷新并恢复为原始外观。如果仔细观察,您可以看到div隐藏起来并以我想要的方式显示,但在很短的时间内,它们会回到原来的样子 - 我假设因为回调会刷新页面。
当正在执行对服务器的调用时,是否可以在页面后面的代码中显示/隐藏DOM元素?任何帮助表示赞赏。
编辑
这是asp:按钮控制本身,这是问题。我在下面的代码中得到相同的行为,它根本不使用页面后面的代码。如果我用普通的HTML输入控件替换asp:按钮控件,它可以正常工作。
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
$('document').ready(function() {
$('.MyButton').click(function() {
$('#MyTable').toggle();
})
})
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:Button ID="Button1" runat="server" Text="Button" class="MyButton" />
<table id="MyTable" >
<tr>
<td>This</td>
<td>is</td>
</tr>
</table>
</asp:Content>
可能的重复http://stackoverflow.com/questions/11714019/asp-net-hello-world-ajax-post – 2013-05-06 22:16:27