ASP中怎么弹出消息框

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP中怎么弹出消息框相关的知识,希望对你有一定的参考价值。

ASP是运行于服务器的后台程序,它本身肯定不能弹出消息框的(即使真的能弹出也是出现在服务器的屏幕上,不可能出现在客户端的浏览器上)。必须依赖前端脚本才能实现,比如利用javascript

<%response.write "<script>alert('这是弹出的消息框!')</script>"%>
参考技术A 1. 网上给出方案是使用
MessageBox.Show("请输入新密码!");
但是这是winform中的,必须把WinForm的命名空间导入,方法:
a.右击项目“引用” 节点,选 ”添加引用“,在".Net"选项卡中选 择"System.Windows.Forms.dll",点确定。
b.在要用MessageBox.Show();方法的后台代码里添加:
using System.Windows.Forms; //导入命名空间
但是运行时出现问题“
当应用程序不是以 UserInteractive 模式运行时显示模式对话框或窗体是无效操作”
有人给出解决方法:
SystemInformation.UserInteractive属性改为true
但是:此属性无法修改SystemInformation.UserInteractive 属性
获取一个值,该值指示当前进程是否在用户交互模式中运行。
如果 UserInteractive 属性为 false 时,则不显示任何模式对话框或消息框,原因是没有供用户进行交互的图形用户界面。 仅当从服务进程或从 Web 应用程序调用时,此属性才为 false。
注意: 此属性仅在下面的平台上受支持:Windows NT 3.51 或更高版本、Windows 2000、Windows XP 和 Windows Server 2003 系列。
2. 最终决定采用javas
cript方法,此法可行JavaScript: 用Response.Write("<scriptalert('Hello World')</script");

ASP页面即时提示消息框代码

就像163邮箱那样,有新消息的时候弹框提示,用ASP代码怎么实现?

参考技术A asp.net
中可以实现即时消息提示功能的代码很多的sns网站都提供了短消息功能。
而且,如果我们在线的话会很快的收到好友的短消息。
这里介绍一种客户端的方法,简单实现。
主要的表:
user

:Uid
UName
Password
三个字段
Message

:Mid,
SenderId,
ReceiverId,
State,
Detail(SenderId和
ReceiverId)都是外键且对应user表中的Uid。
主要的思路很简单:用js每隔五秒钟发送一次ajax请求,获取当前用户在Message表中State为未读取(这里约定为数字1)且ReceverId为当前用户ID的Message
记录的数量。
页面的代码:
<%@
Page
Language="C#"
CodeBehind="Default.aspx.cs"
Inherits="MIDemo._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>无标题页</title>

<!--
两个js脚本文件-->

<script
type="text/javascript"
src="SqlHelp/jquery-1.3.2.js"></script>

<script
type="text/javascript"
src="SqlHelp/GetMessageCount.js"></script>
</head>
<body>

<form
id="form1"
runat="server">

<div
style="
border-color:Green;
border-style:solid;
margin-top:100px;
margin-left:300px;
width:300px;
height:50px;
text-align:center;">

您有<input
type="text"
value="0"
id="messageCount"/><a
href="ShowMessage.aspx">条短消息</a>

</div>

</form>
</body>
</html>
js代码:这里用到了Jquery框架,不再赘述,网上有很多的资料。
GetMessageCount.js
//------GetMessageCount.js
Begin----------------------
if(!GetMessageCount)

var
GetMessageCount
=
;

$(document).ready(

function()

GetMessageCount.FindMessage();


);
GetMessageCount.FindMessage
=
function()

$.ajax(

//处理ajax请求

url:'FindNewMessage.ashx',

//
当前用户的ID,这里图省事就省略了,直接写死为
1,

//实际使用过程中可以从session中获取





data:Uid:1,

cache:
false,

//回调函数返回未读短信数目

success:
function(response)



$('#messageCount').val(response);

,

error:function(data)



alert("加载失败");



);

//每隔5
秒递归调用一次,刷新未读短信数目

window.setTimeout(GetMessageCount.FindMessage,5000);核心语句

//------GetMessageCount.js
End----------------------
到了这里,贴出处理ajax请求页面的代码,非常简单
FindNewMessage.ashx
//----------------'FindNewMessage.ashx
Begin
using
System;
using
System.Collections;
using
System.Data;
using
System.Linq;
using
System.Web;
using
System.Web.Services;
using
System.Web.Services.Protocols;
using
System.Xml.Linq;
namespace
MIDemo


///
<summary>

///
$codebehindclassname$
的摘要说明

///
</summary>
[WebService(Namespace
=
"
http://tempuri.org/")]

[WebServiceBinding(ConformsTo
=
WsiProfiles.BasicProfile1_1)]

public
class
FindNewMessage
:
IHttpHandler



public
void
ProcessRequest(HttpContext
context)



context.Response.ContentType
=
"text/plain";

//就这一句代码,获取未读短信的数量,返回页面

//后台的sql代码就省略了

int
count
=
SqlHelp.SqlHelp.GetUnreadMessageCount(Convert.ToInt32(context.Request["Uid"]));

//返回页面

context.Response.Write(count);



public
bool
IsReusable



get



return
false;







//----------------'FindNewMessage.ashx
End

以上是关于ASP中怎么弹出消息框的主要内容,如果未能解决你的问题,请参考以下文章

asp.net使用alert弹出消息框后,页面变空白,内容消失的问题怎么解决

ASP页面即时提示消息框代码

怎么用js做一个弹出消息提示框

java中,写一个servlet,怎么写一个弹出的消息框?

JAVA咨询 消息框 最小化下能够弹出

无法使用 SQL 数据激活消息框 - ASP.NET