我在下面有一个按钮:
<asp:Button ID="btnApprove" runat="server" Text="Approve" CssClass="button" OnClick="btnApprove_Click" />
服务器端此按钮的事件处理程序是:
protected void btnApprove_Click(object sender, EventArgs e)
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "key", "alert('Button Approve Clicked')", true);
}
只需从服务器端点击按钮即可获得警报。
我的问题是,一旦我点击了批准按钮,现在当我再次加载或刷新我的页面时,每次都会执行btnApprove_Click
事件。
我在同一个表单上有很多其他按钮,但没有一个显示这种奇怪的行为。我试图将此按钮更改为HTML但仍然是相同的行为。
任何人都可以帮助我摆脱它。提前谢谢。
答案 0 :(得分:3)
您应该在页面加载时使用IsPostBack
以防止每次按下按钮时页面加载。您可以每次Page_Load
检查。
示例代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// First Time Load When User Come
}
else
{
// Every Time Load When Any click button in page
}
答案 1 :(得分:1)
尝试添加OnClientClick="return false;"
<asp:Button ID="btnApprove" runat="server" Text="Approve" CssClass="button" OnClick="btnApprove_Click" OnClientClick="return false;"/>
答案 2 :(得分:0)
如何使用RegisterOnSubmitStatement
呢?
Page.ClientScript.RegisterOnSubmitStatement(Page.GetType(), "key", "alert('Button Approve Clicked')");