为什么弹出窗口的代码在单一页面正常,放到母版页就不运行了!?
最近得到一段代码,可以弹出窗口并通过comfirm看是否执行!--
我把它放在单一的网页中,调试成功了;但我把它放到含母版页的界面中,Button2就没反应了!代码1虚线以上是在单一网页上调试成功的例子,虚线以下是在母版页失败的例子! 代码2是后台。
--
我把可能出错的那一段代码标记了下划线,请各位帮忙看看,3Q!
--
-------------------------------代码1-------------------------------
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
<!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 id="Head1" runat="server">
<title><%--PerformValidation and ValidationGroup Example--%></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%--JavaScript 的 Confirm 選擇完後,再自動呼叫 C# 函數 - 沒 Ajax / UpdatePanel 的版本--%><p></p>
<asp:Button ID="Button1" runat="server" Text="Button1 (按下後會彈出 Confirm 再供選擇)" onclick="Button1_Click" Font-Size="13px"/>
<p></p>
<%--畫面下方的 Button2 被故意隱藏起來,因我們只是要它的 Button2_Click 事件處理函數,作為傳遞流程的中介。--%><br />
<asp:Button ID="Button2" runat="server" Text="" onclick="Button2_Click" ForeColor="White" Width="0px" Height="0px"
BorderColor="White" BorderWidth="0px" />
</div>
</form>
</body>
</html>
-----------------------------------------------------------------------
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default12.aspx.cs" Inherits="Default12" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" Runat="Server">
<%--JavaScript 的 Confirm 選擇完後,再自動呼叫 C# 函數 - 沒 Ajax / UpdatePanel 的版本--%><p></p>
<asp:Button ID="Button1" runat="server" Text="Button1 (按下後會彈出 Confirm 再供選擇)" onclick="Button1_Click" Font-Size="13px"/>
<p></p>
<%--畫面下方的 Button2 被故意隱藏起來,因我們只是要它的 Button2_Click 事件處理函數,作為傳遞流程的中介。--%><br />
<asp:Button ID="Button2" runat="server" Text="" onclick="Button2_Click" ForeColor="White" Width="0px" Height="0px"
BorderColor="White" BorderWidth="0px" />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
---------------------------------代码2-----------------------------------
protected void Button1_Click(object sender, EventArgs e)调试
{
Response.Write("<font color='red'>Button1_Click 執行完成 </font><p>");
//二段式的 Client-Server 來回 :
//Server-side 的 Button1_Click 執行完、回到 Client-side 後,會彈出 JavaScript 的 Confirm 對話框,若
//使用者選擇了「確定」,則會「自動」執行 Button2 的 Click 事件處理常式,亦即二度前往 Server-side
Page.ClientScript.RegisterStartupScript(typeof(string), "Button1_Click", "var retValue=confirm('Submit form?');" +
"if (retValue) {document.getElementById('Button2').click();}; else { }", true);
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Write("<font color='red'>Button2_Click 執行完成 </font><p>");
this.func3();
}
//這個為我們在後端,真正想被執行的 c# 自訂函數 (可放在 App_Code 資料夾裡的自訂類別)
private void func3()
{
Response.Write("<font color='red'>func3 執行完成 </font><p>");
}
补充:.NET技术 , ASP.NET