C#中Button多次提交的解決方法
功能描述:
頁面上有個form表單,當我點擊提交按鈕后,后台程序能夠根據條件做出判斷,返回給客戶端提示確認框是否繼續執行.如果選擇"是",則執行代碼a,如果選擇"否",則停止執行.
解決方法:
這個問題還是比較好解決的.利用RegisterStartupScript可以將javascript代碼返回給客戶端,利用Javascript的Confirm可以制作一個提示框.利用button.click()事件再次提次執行,需要一個隱藏控件保存客戶端user的選擇.
以下是具體代碼:
假設TextBox_Flag是服務器隱藏控件,Btn_Submit為提交按鈕.
1.Button的服務器端事件處理方法
拋磚引玉,希望有更好的方法出現.
頁面上有個form表單,當我點擊提交按鈕后,后台程序能夠根據條件做出判斷,返回給客戶端提示確認框是否繼續執行.如果選擇"是",則執行代碼a,如果選擇"否",則停止執行.
解決方法:
這個問題還是比較好解決的.利用RegisterStartupScript可以將javascript代碼返回給客戶端,利用Javascript的Confirm可以制作一個提示框.利用button.click()事件再次提次執行,需要一個隱藏控件保存客戶端user的選擇.
以下是具體代碼:
假設TextBox_Flag是服務器隱藏控件,Btn_Submit為提交按鈕.
1.Button的服務器端事件處理方法
private void Btn_Submit_Click(object sender, System.EventArgs e)
{
//TextBox_Flag是服務器隱藏控件,初始運行值為空.則向客戶端發出提示窗口
if(this.TextBox_Flag.Text.Trim() == "")
{
string js = @"
<script>
if(confirm(""Are you Sure?"")) //如果點擊ok,則將隱藏控件的值設為1
{
document.getElementById(""TextBox_Flag"").value=1;
document.getElementById(""Btn_Submit"").click();//虛擬提交
}
</script>
";
Page.RegisterStartupScript("Notice",js);
return;
}
//再次提交運行時如果點擊"確定",則此時值為1
if(this.TextBox_Flag.Text.Trim() == "1")
{
//Code A
..
Response.Write("OK");
}
//最后要將隱藏控件的值設為初始值
this.TextBox_Flag.Text = "";
}
以上只是最基本的代碼,如果有更復雜的流程可以擴充,都不是問題.{
//TextBox_Flag是服務器隱藏控件,初始運行值為空.則向客戶端發出提示窗口
if(this.TextBox_Flag.Text.Trim() == "")
{
string js = @"
<script>
if(confirm(""Are you Sure?"")) //如果點擊ok,則將隱藏控件的值設為1
{
document.getElementById(""TextBox_Flag"").value=1;
document.getElementById(""Btn_Submit"").click();//虛擬提交
}
</script>
";
Page.RegisterStartupScript("Notice",js);
return;
}
//再次提交運行時如果點擊"確定",則此時值為1
if(this.TextBox_Flag.Text.Trim() == "1")
{
//Code A
![](https://www.cnblogs.com/Images/dot.gif)
Response.Write("OK");
}
//最后要將隱藏控件的值設為初始值
this.TextBox_Flag.Text = "";
}
拋磚引玉,希望有更好的方法出現.