我的页面中有一个asp.net按钮,点击按钮后,只要刷新同一页面,就会一次又一次地点击它。
我试过了;
if (!IsPostBack)
{
.....
}
用于按钮的单击功能,但在这种情况下按钮不起作用。
<asp:Button ID="btnCommentSubmit" runat="server" Text="Submit" CssClass="leaveAComment" onclick="btnCommentSubmit_Click" />
上面是按钮。
protected void btnCommentSubmit_Click(object sender, EventArgs e)
{
string cityID = BusinessClass.Default.findCityIDByCountryAndCityName(Request.QueryString["city"].ToString(), "url").ToString();
BusinessClass.Default.makeComment(txtComment.Text, Session["userID"].ToString(), cityID);
txtComment.Text = null;
}
这就是功能。
答案 0 :(得分:3)
如果没有弄错你的问题是在点击按钮后点击F5。尝试重新提交表单是正常行为,与asp.net无关,但与浏览器无关。
F5导致重新执行对服务器的最后一次请求,在您的情况下,是一个POST请求。
避免此问题的一种方法是实施网络模式Post/Redirect/Get
答案 1 :(得分:1)
使用一点JavaScript轻松修复。
document.onkeydown = function() {
if(event.keyCode==116) {
event.keyCode=0;
event.returnValue = false;
}
}
当你点击F5时,这将停止重复重发。