<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
if (HiddenField1.Value != "1")
{
SqlDataSource1.InsertParameters["title"].DefaultValue = TextBox1.Text;
SqlDataSource1.InsertParameters["content"].DefaultValue = TextBox2.Text;
SqlDataSource1.InsertParameters["atime"].DefaultValue = DateTime.Now.ToString();
SqlDataSource1.Insert();
HiddenField1.Value = "1";
}
else { Label3.Text = "请勿重复提交数据!";
}
}
</script>重复提交表单的方法有好多,重复click,刷新,后退等都可以重复提交,像上面的这种做法,请问弊端在哪里?谢谢肯定没有完美的方法,不过如何没有打的问题 ,这个用起来还是蛮省事的
protected void Button1_Click(object sender, EventArgs e)
{
if (HiddenField1.Value != "1")
{
SqlDataSource1.InsertParameters["title"].DefaultValue = TextBox1.Text;
SqlDataSource1.InsertParameters["content"].DefaultValue = TextBox2.Text;
SqlDataSource1.InsertParameters["atime"].DefaultValue = DateTime.Now.ToString();
SqlDataSource1.Insert();
HiddenField1.Value = "1";
}
else { Label3.Text = "请勿重复提交数据!";
}
}
</script>重复提交表单的方法有好多,重复click,刷新,后退等都可以重复提交,像上面的这种做法,请问弊端在哪里?谢谢肯定没有完美的方法,不过如何没有打的问题 ,这个用起来还是蛮省事的
其他形式的话 就用SQL 直接查询 判断了
protected void Button1_Click(object sender, EventArgs e)
{
if (Session["yet"].ToString() != "1")
{
SqlDataSource1.InsertParameters["title"].DefaultValue = TextBox1.Text;
SqlDataSource1.InsertParameters["content"].DefaultValue = TextBox2.Text;
SqlDataSource1.InsertParameters["atime"].DefaultValue = DateTime.Now.ToString();
SqlDataSource1.Insert();
Session["yet"] = "1";
}
else { Label3.Text = "请勿重复提交数据!";
}
}
</script>这样行吗?但是我的写法不正确
http://blog.csdn.net/zhanglei5415/archive/2010/12/07/6060906.aspx
内部用户只需要防止刷新即可
你可以用JS在页面前端判断,就不会提交了