`
android_mylove
  • 浏览: 399581 次
社区版块
存档分类
最新评论

ASP.NET弹出消息对话框的方法小结

 
阅读更多

【原理】

在页面上放置一隐藏控件,并在页面最后放上一段脚本代码,脚本代码检测隐藏控件的value是否为空,若不为空则弹出对话框显示信息,否则什么也不做。
后台代码在需要的时候修改隐藏控件的value,这样当页面传到用户那时,最后的脚本代码将执行并弹出对话框。

【注意事项】
1. 隐藏控件必须是HTML控件,否则javascript无法找到。
2. 后台代码要修改隐藏控件的值,隐藏控件自然得加上runat=”server” 标记。
3. 在弹出对话框后,记得把隐藏控件的value置空,否则刷新的时候又会弹出来了。
4. 脚本代码一定得放在隐藏控件的后面,否则同样找不到。

【实现】
页面代码(只列出body)
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:TextBox id="manuInput" runat="server"></asp:TextBox>
<asp:Button id="Button1" runat="server" Text="对话框"></asp:Button>
<INPUT id="passTxt" type="hidden" runat="server"><!—隐藏控件à
</form>
<script language=javascript>...
if( document.all("passTxt").value!="" )
...{
alert( document.all("passTxt").value );
document.all("passTxt").value=""; //这句可不能掉哟!
}
</script>
</body>
后台代码(只列出Button1的响应事件)
private void Button1_Click(object sender, System.EventArgs e)
{
passTxt.Value = manuInput.Text;
}
【效果】

【补充说明】
其实这个方法很简单,不过却很有效,你可以写一个函数showDialog(string str),然后在后台代码中任何需要的地方调用以弹出对话框。
此外,你还可以把alert换成showModelDialog(),以弹出功能更丰富,界面更漂亮的窗口。
最后,必须得说明的是,这个方法的思想可以用来在脚本和后台代码之间传递信息,我在我的web application中就是这样做的,效果很好。
我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。

(1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
例:
public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");
 (2)点击页面上的链接,弹出一个对话框提示是“确定”还是“取消”操作,可在Page_Load()事件中,给希望给出确认提示的按钮增加属性:
例:
Link.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");

(3) 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。
例:
Response.Write("<script>...alert('删除成功!')</script>");

(4)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
public virtual void RegisterStartupScript(string key,string script);
例:
if(!this.IsStartupScriptRegistered("hello"))
this.RegisterStartupScript("hello","<script>...alert('你好!')</script>");

弹出“确定”对话框:
Response.Write("<Script Language=JavaScript>...alert('消息!');</Script>");

弹出“确定”对话框,点击后跳转页面:
Response.Write("<Script Language=JavaScript>...alert('消息!');window.navigate('../index.aspx');</Script>");

弹出“确定”和“取消”对话框,点击“确定”后执行相关操作:
方法一:在Page_Load事件中,写入Button1.Attributes["onClick"]="javascript:return confirm('你确认要删除吗?');" ,然后在Button1_OnClick事件中写入您的执行代码。
方法二:直接在Button1_OnClik事件中写入
Response.Write("<Script Language=JavaScript>...if(confirm('你确认要删除吗?'))...{window.navigate('doDelete.aspx');} </Script>"); 方法二需要跳转到另一个页面执行操作,比方法一稍繁琐些,不过怎样用还看具体情况。


收集到的。用具类
using System;
/// <summary>
/// Alert 的摘要说明。
/// </summary>

public class Alert
{
public static void ShowAlert(string message)
{
if(message==null)
message = "";
message=message.Replace(" ",""");
System.Web.HttpContext.Current.Response.Write("<script>...alert('"+message+"');</script>");
}
public static void ShowAlert(string message,string url)
{
if(message==null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script>...alert(""+message+"");location='"+url+"';</script>");
}
public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl)
...{
if (message == null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>");
}
public static void ShowConfirmAlert(string message, string confirmurl)
...{
if (message == null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>");
}
public static void Redirect(string url)
...{//
//
if(url==null||url.Length<1)
ShowAlert("重定向地址不能为空");
else
System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>");
}
public static void SSOLoginRedirect(string url)
...{
Redirect(url);
// if(url==null||url.Length<1)
// ShowAlert("重定向地址不能为空");
// else
// System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window)
window.parent.location=window.location; location='"+url+"';</script>");

}
public static void ShowAlert(string message,string url,bool IsRedirect)
...{

if(message==null)
message = "";
if(IsRedirect)
ShowAlert(message,url);
else
ShowAlert(message);
}
}


转载声明:本文来自CSDN博客http://blog.csdn.net/linxi27/archive/2008/01/31/2075028.aspx

==================================================================

ASP.net后台弹出消息对话框的方法!【转】

在winform后台,我们通过MessageBox.show(“消息")的方式来返回后台信息,在webform后台,我们通过Response.write(”消息")来返回后台消息,但这样需要将消息值以字符串形式显示到前台页面,是否有类似于MessageBox.show("消息")的方式弹出信息呢。我们会很快想到javascript的alert方法。通过在后台调用js来实现alert的调用。用法为:Response.write("<script>alert('"+value+"')</script>");
当然,我们在ASP.NET程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。

(1) 点击页面上的按钮,弹出一个对话框提示是“确定”还是“取消”操作,我们采用在按钮中添加属性来完成:
例:
public System.Web.UI.WebControls.Button btnDelRow;
btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");
 (2)点击页面上的链接,弹出一个对话框提示是“确定”还是“取消”操作,可在Page_Load()事件中,给希望给出确认提示的按钮增加属性:
例:
Link.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");

(3) 对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”。
例:
Response.Write("<script>...alert('删除成功!')</script>");

(4)允许 ASP.NET 服务器控件在 Page 中发出客户端脚本块:
public virtual void RegisterStartupScript(string key,string script);
例:
if(!this.IsStartupScriptRegistered("hello"))
this.RegisterStartupScript("hello","<script>...alert('你好!')</script>");

弹出“确定”对话框:
Response.Write("<Script Language=JavaScript>...alert('消息!');</Script>");

弹出“确定”对话框,点击后跳转页面:
Response.Write("<Script Language=JavaScript>...alert('消息!');window.navigate('../index.aspx');</Script>");

弹出“确定”和“取消”对话框,点击“确定”后执行相关操作:
方法一:在Page_Load事件中,写入Button1.Attributes["onClick"]="javascript:return confirm('你确认要删除吗?');" ,然后在Button1_OnClick事件中写入您的执行代码。
方法二:直接在Button1_OnClik事件中写入
Response.Write("<Script Language=JavaScript>...if(confirm('你确认要删除吗?'))...{window.navigate('doDelete.aspx');} </Script>"); 方法二需要跳转到另一个页面执行操作,比方法一稍繁琐些,不过怎样用还看具体情况。


收集到的。用具类


using System;


/// <summary>
/// Alert 的摘要说明。
/// </summary>
public class Alert
{
public static void ShowAlert(string message)
{
if(message==null)
message = "";
//ljj
//2005-12-9
message=message.Replace(" ",""");
System.Web.HttpContext.Current.Response.Write("<script>...alert('"+message+"');</script>");
}
public static void ShowAlert(string message,string url)
{
if(message==null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script>...alert(""+message+"");location='"+url+"';</script>");
}
public static void ShowConfirmAlert(string message, string confirmurl, string cancelurl)
...{
if (message == null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { document.location.href='" + cancelurl + "' }</script>");
}
public static void ShowConfirmAlert(string message, string confirmurl)
...{
if (message == null)
message = "";
message = message.Replace(" ", """);
System.Web.HttpContext.Current.Response.Write("<script Language=Javascript>if( confirm('" + message + "') ) {document.location.href='" + confirmurl + "'; } else { window.history.back(); }</script>");
}
public static void Redirect(string url)
...{//
//
if(url==null||url.Length<1)
ShowAlert("重定向地址不能为空");
else
System.Web.HttpContext.Current.Response.Write("<script>location='"+url+"';</script>");
}
public static void SSOLoginRedirect(string url)
...{
Redirect(url);
// if(url==null||url.Length<1)
// ShowAlert("重定向地址不能为空");
// else
// System.Web.HttpContext.Current.Response.Write("<script>if(window.parent!=window) window.parent.location=window.location; location='"+url+"';</script>");

}
public static void ShowAlert(string message,string url,bool IsRedirect)
...{

if(message==null)
message = "";
if(IsRedirect)
ShowAlert(message,url);
else
ShowAlert(message);
}
}

转载声明:本文来自CSDN博客http://www.cnblogs.com/xionglee/articles/1540737.html

==================================================================

分享到:
评论

相关推荐

    asp.net网页跳转七种方法小结

    本文将详细介绍ASP.NET中实现网页跳转的七种常见方法,帮助开发者更好地理解和应用这些技术。 ### 1. Response.Redirect `Response.Redirect`是一种常见的跳转方式,用于将当前页面重定向到另一个页面。例如: ``...

    asp.net学习心得之创建弹出修改密码

    在ASP.NET Web应用程序中实现一个弹出式对话框用于修改用户的密码是一个常见的需求。本篇文章将详细探讨如何在ASP.NET中实现这样一个功能,包括前端HTML/CSS/JavaScript代码以及后端C#逻辑。 #### 二、技术栈 1. *...

    ASP.NET常见问题集锦.zip

    ASP.NET弹出式日历选择控件的实现.doc ASP.NET程序中常用的三十三种代码.txt ASP.NET页面间数据传递小结.doc ASPNETXML深入编程.pdf C Primer Plus 5th.chm C#中结构与类的区别.doc C#复习.txt C#实现Web...

    ASP.NET的网页代码模型及生命周期

    创建ASP.NET网站,首先需要创建网站,单击【文件】按钮,在下拉菜单中选择【新建网站】选项,单击后会弹出对话框用于ASP.NET网站的创建,如图4-1所示。 图4-1 新建ASP.NET网站 在【位置】选项中,旁边的【下拉菜单...

    ASP.NET MVC3.0中文入门教程

    - **步骤3**:在弹出的“新ASP.NET MVC3项目”对话框中,选择“Internet 应用程序”模板,保持“视图引擎”为默认的“Razor”。 #### 四、Razor视图引擎介绍 - **特点**:Razor是ASP.NET MVC3新增的一种视图引擎,...

    ASP.NET中的几种弹出框提示基本实现方法

    我们在.NET程序的开发过程中,常常需要和用户进行信息交互,比如执行某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否需要跳转到某个页面等,下面是本人对常用对话框使用的小结,希望对...

    【网页编程数据库应用】第17章 ASP.NET AJAX (精品推荐,免费分享!!).ppt

    例如,动态折叠栏目显示可以优化页面布局,动画效果增强用户感知,数据绑定显示对话框可以提供更友好的数据输入方式,弹出日历复合控件简化日期选择,智能密码强度提示有助于提升安全,锐化边角效果则为界面增添现代...

    ASP .Net 创建WEB站点(E文)

    #### 四、小结 通过上述步骤,你可以使用 **ASP .Net** 创建一个功能完善的 WEB 站点。这不仅涵盖了基本的页面构建和布局设计,还包括了网站管理工具的使用,使得整个开发过程更加高效和便捷。对于初学者来说,了解...

    AJAX弹出框_利用ScriptManager.RegisterStartupScript

    - **`ScriptManager.RegisterStartupScript`** 是 ASP.NET AJAX 控件工具包中的一个方法,用于在服务器端注册一段 JavaScript 脚本,使其能在客户端页面加载完成后执行。 - **AJAX(Asynchronous JavaScript and XML...

    从ASP.NET服务器控件插入客户端脚本

    通过合理运用`RegisterStartupScript()`和`RegisterClientScriptBlock()`,可以轻松实现各种复杂的功能,如弹出对话框、确认提示等。此外,还讨论了如何检查脚本是否已注册,以及如何通过修改控件的HTML属性来控制...

    ASP.NET Mvc开发之删除修改数据

    2. **编写删除按钮的JavaScript函数**:当用户点击删除按钮时,弹出确认对话框,并通过AJAX请求异步发送删除操作到服务器。 3. **控制器处理删除请求**:在控制器(Controller)中定义一个处理删除请求的方法,接收...

    EXTASPNET 总结

    - 弹出对话框供用户继续添加子菜单或进行其他操作。 ##### 3.2 绑定与更新 - **步骤4:** 新增另一个菜单项,并将其父菜单设置为之前添加的菜单项。 - **步骤5:** 点击“保存并关闭”按钮,将执行以下操作: - ...

    VS 创建的项目源代码放置到 Git 进行代码管理

    - 在弹出的新建项目对话框中,选择要创建的项目类型,例如“ASP.NET Web应用程序”。 - 给项目命名,并在项目位置处选择合适的目录。 - 在解决方案创建选项中,勾选“将源代码置于Git存储库中”。这一步非常重要,它...

    2021-2022计算机二级等级考试试题及答案No.17412.docx

    27. **Windows系统日期设置**:在“工具”菜单中选择“选项”,然后在弹出的对话框中选择“区域”选项卡,可以设置日期格式。 以上是对计算机二级等级考试中涉及的多项知识点的详细解析,涵盖了操作系统、网络协议...

    jQuery权威指南-源代码

    此外,他还是微软技术方面的专家,精通C#、ASP.NET 和SQL Server等技术,出版相关著作多部。 媒体推荐: jQuery的发展之迅速和取得的成功之巨大是其他所有开发框架都难以企及的,它已经成为Web开发者必备的核心...

    vc++ 开发实例源码包

    9:采用Messenger的弹出滑动消息提示框. 10:下载管理,虚拟文件夹. 11:自动ping. 12:连接到搜索引擎. 13:自动报告bug,建议等. 14:宏功能. 15:自动同步文件夹. 16:保存加载任务. 17:计划任务. 18:单线程下载时不能创建...

Global site tag (gtag.js) - Google Analytics