經常用到js寫確認框的情況,直接在前台aspx頁面上寫return confirm('Are you sure?') ,或者在後台code裡用attributes.add()來添加以下就OK了,不過當有如下需求時:點擊按鈕之後執行一段代碼,在該段代碼中有個判斷,當條件成立時詢問使用者是否確認提交。我們似乎不好這麼做了。
那是否可以這樣呢?如下:
Aspx頁面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript" language="javascript">
function ShowConfirmation()
{
if(confirm("Are you want to show the value?")== true)
{
//Calling the server side code after confirmation from the user
document.getElementById("btnAlelrt").click();
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtDetails" runat="server"></asp:TextBox>
<br />
<asp:Button ID="btnDetails" runat="server" Text="GetValue" OnClick="btnDetails_Click" />
<asp:Button ID="btnAlelrt" runat="server" Text="GetDetails" OnClick="btnAlelrt_Click" />
<br />
<br />
</div>
</form>
</body>
</html>
code部分:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//hide the button from users visibility
btnAlelrt.Style.Add("display", "none");
}
protected void btnDetails_Click(object sender, EventArgs e)
{
//here some conditions
if(txtDetails.Text == "111111")
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "showAl", "ShowConfirmation();", true);
}
else
{
//do nothing!
}
}
protected void btnAlelrt_Click(object sender, EventArgs e)
{
// write your code
Page.ClientScript.RegisterStartupScript(this.GetType(), "showVal", "alert('" + txtDetails.Text + "');", true);
}
}
PS:小Demo一個,並非原創,自己用的時候Google來的。不知道放首頁合適不^_^…(小弟新人,第二次發文,不合適留個言,我換地方!),另外請教一下,怎麼才能使代碼有摺疊和縮排啊!!