研究怎么弹出消息框,找不到C#后台弹出消息框的方法,只有借助JS脚本才能包装出弹出的效果,我们来看下怎么在页面里弹出消息框。
***JS弹出消息框***
语法:<script language=javascript>
alert('');
</script>
描述:alert()属于JavaScript中Window对象的方法,可以显示带有一段消息和一个确认按钮的警告框。可以在控件的onclick事件中被调用。
***JS弹出消息框***
Default.aspx
- <html xmlns="http://www.w3.org/1999/xhtml" >
- <head runat="server">
- <title>Page对象-Default页</title>
- </head>
- <body bgcolor="#ffff99" >
- <form id="form1" runat="server">
- <div >
- <asp:Button ID="Button1" runat="server" onclick="Button1_Click"
- Text="Response.Write" />
- <br />
- <br />
- <asp:Button ID="Button2" runat="server" onclick="Button2_Click"
- Text="Page.ClientScript.RegisterStartupScript" Width="244px" />
- </div>
- </form>
- </body>
- </html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Page对象-Default页</title>
</head>
<body bgcolor="#ffff99" >
<form id="form1" runat="server">
<div >
<asp:Button ID="Button1" runat="server" οnclick="Button1_Click"
Text="Response.Write" />
<br />
<br />
<asp:Button ID="Button2" runat="server" οnclick="Button2_Click"
Text="Page.ClientScript.RegisterStartupScript" Width="244px" />
</div>
</form>
</body>
</html>
Default.aspx.cs
- public partial class _Default : System.Web.UI.Page
- {
- protected void Button1_Click(object sender, EventArgs e)
- {
- Response.Write(" <script language=javascript> alert( '这是Response.Write()'); </script> ");
- }
- protected void Button2_Click(object sender, EventArgs e)
- {
- Page.ClientScript.RegisterStartupScript(Page.GetType(), "message",
- " <script language=javascript> alert( '这是Page.ClientScript.RegisterStartupScript() '); </script> ");
- //Page.RegisterStartupScript("message",
- // " <script language=javascript> alert( '这是Page.RegisterStartupScript() '); </script> ");
- }
- }
public partial class _Default : System.Web.UI.Page { protected void Button1_Click(object sender, EventArgs e) { Response.Write(" <script language=javascript> alert( '这是Response.Write()'); </script> "); } protected void Button2_Click(object sender, EventArgs e) { Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", " <script language=javascript> alert( '这是Page.ClientScript.RegisterStartupScript() '); </script> "); //Page.RegisterStartupScript("message", // " <script language=javascript> alert( '这是Page.RegisterStartupScript() '); </script> "); } }
好,我来说下运行机制。Response.Write()和Page.ClientScript.RegisterStartupScript()都可以执行脚本语言,不同的是前者执行时,页面会白屏
(背景变白) 而后者不会白屏,所以后者的用户体验比较好。后者还有个同父异母的兄弟Page.ClientScript.
RegisterClientScriptBlock(),他们都可以执行脚本,那么他们有什么不一样呢?他们在页面执行的地方不同,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 </form> 的前面。RegisterClientScriptBlock 方法是将 JavaScript 嵌入到页面中开启元素 <form> 的紧后面,当执行的脚本要查找某个控件时,这时执行顺序就体现出差别了。扯远了,上例输出结果如下:
Response.Write()方法,白屏了- -
Page.ClientScript.RegisterStartupScript()方法,显示正常。(背景色为米黄色)