Asp.net网站开发中如何实现弹出对话框
- 格式:pdf
- 大小:151.57 KB
- 文档页数:2
转:中使用alert弹出消息框,如何换行?
在写的程序时,经常要使用弹出消息框,而asp2.0以前并没有很直观地作法。
通常,我会用Response.write来回写一段Javascript,用alert函数来弹出消息框。
但是,这种作法有个很大的缺点,就是整个页面会反白,有经验的大侠肯定知道我说的是什么意思了。
不过,也有不反白的方法,无非就是不让整个页面refresh就可以了。
你可以写一个自定义控件,在控件里面写好javascript代码,这样就不会反白了,和客户端程序一样更亲切....
说远了,今天我发现的并不是这个问题,而是说,如何使alert弹出的消息回车?
选择一:\n
当然,一定要使用转义符啊,\n是最常见的转义符了,c里面都这么用,最直观地反应也是用它,呵呵,结果呢?当然是失败。
选择二:\r\n
我只记得在C++里,如果要换行,一定要用这个,单独使一个\n 都是不行的,试试再说...页面仍然有错!
选择三:\n\r
这个不用说了,只是在乱试
选择四:<br>
HTML里换行都是这样用,而且我记得在中,Validate控件中使用ErrorMessage也是用它,不过理由再充分,仍然失败了。
选择五:<br>
这个完全是对<br>的另外一种写法,是google到的,没起作用。
选择六:\\n
没有抱多大希望试了一下,成功了,呵呵,这是什么?,我可以理解成是双重转义吗?
哪如果我要在弹出的消息中使用\n的字符串,那将如何是好呢?难道是\\\n(突然想到的)?。
弹出窗口(对话框)Posted on 2006-03-07 15:22 mjgforever阅读(377) 评论(0)编辑收藏网摘所属分类: 对话框分为三种:window.open方法无模式对话框有模式对话框第一:OPEN方法<script>functionopen_cate(){window.open("OpenUp.aspx","","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,left=200,top=100,width=250,height=400");}</script>这种方法打开浏览器的一个新实例,通常加载某个特定URL 指定的文档。
定位已经打开的窗口的特定的已命名实例是可能的,这样您就可以避免打开新的窗口,而是使用您以前打开的现有窗口用于另一个目的。
详细信息,请参见Web Workshop 中的open(英文)方法。
通过打开浏览器的另外一个实例,用户可以在打开的窗口中自由地进行切换。
您可以使用window.open的一个情况就是一个电子邮件应用程序,它允许用户在一个另外的窗口中打开一条电子邮件消息,同时又保持与原窗口中的消息列表的完全交互操作。
父窗口向弹出窗口传递信息window.open的第一个参数为URL,我们可以把参数加在URL后,例如'OpenUp.aspx?parm1=abc&parm2=<%=serversideparm%>'。
这样,只需在弹出窗口QueryString 到这些参数,就实现了动态向弹出窗口传递信息。
将弹出窗口的信息传回父窗口使用弹出传口的目的主要是为了同用户的交互,所以如何在父页面中得到用户对弹出窗口的操作结果是非常重要的。
中的⼏种弹出框提⽰基本⽅法NET程序的开发过程中,常常需要和⽤户进⾏信息交互,对话框的出现将解决了这些问题,下⾯是本⼈对常⽤对话框使⽤的⼩结,希望对⼤家有所帮助我们在.NET程序的开发过程中,常常需要和⽤户进⾏信息交互,⽐如执⾏某项操作是否成功,“确定”还是“取消”,以及选择“确定”或“取消”后是否需要跳转到某个页⾯等,下⾯是本⼈对常⽤对话框使⽤的⼩结,希望对⼤家有所帮助,同时也欢迎⼤家补充。
(1) 点击页⾯上的按钮,弹出⼀个对话框提⽰是“确定”还是“取消”操作,我们采⽤在按钮中添加属性来完成:举例如下:复制代码代码如下:public System.Web.UI.WebControls.Button btnDelRow;btnDelRow.Attributes.Add("onclick", "return confirm('确定要删吗?');");(2) 点击页⾯上的按钮,弹出⼀个对话框提⽰是“确定”还是“取消”操作,选择“确定”或“取消”后跳转到相应的页⾯:举例如下:复制代码代码如下:string strMsg, string strUrl_Yes, string strUrl_No;Response.Write("<Script Language='JavaScript'>if ( window.confirm('"+strMsg+"')) { window.location.href='" + strUrl_Yes +"' } else {window.location.href='"+ strUrl_No +"' };</script>");(3) 对于页⾯完成⼀个操作后,弹出⼀个对话框提⽰是否“操作成功”。
中弹出消息框的几种方法中弹出消息框的几种方法分类: 2012-05-16 16:29 243人阅读评论(0) 收藏举报在网站开发中,经常需要使用到alert消息框,尤其是在提交网页的时候,往往需要在服务器端对数据进行检验,并给出提示或警告。
这里,仅介绍几种不同的实现方法。
1、众所周知的方法是采用如下代码来实现:Response.Write("<script>alert('弹出的消息')</script>");不可否认,这种方法是最常用,也是最简单的一种实现方案。
但是,该方法的一个主要特点就是:弹出的消息框是在一个新的空白页面中,用户必须关掉消息窗口后,才能继续显示页面内容。
那么,为何会出现这样的情况呢?这是因为,默认情况下,alert函数被添加到了页面的最前面,当其弹出之后,就会阻止页面内容的显示,因此,用户看到的alert消息框的背景页面就是一片空白。
2、使用Page.RegisterStartupScript() 方法注册页面执行脚本,它会把注册的脚本放在Web 窗体的结尾处,即</form>标记之前。
这样form的内容显示完之后才执行弹出消息窗口,所以页面不会再空白。
代码:this.Page.RegisterStartupScript(" " ,"<script>alert(' 弹出的消息'); </script> ");注意,这里是RegisterStartupScript,而不是RegisterClientScriptBlock!3、考虑到window.onload()函数一般是在页面完全加载完成后才执行的,因此可以将alert消息框函数写在window.onload()函数中。
网站开发中实现弹出对话框
周建;朱广祯
【期刊名称】《科技信息》
【年(卷),期】2012(000)007
【摘要】通过对网站开发中实现弹出对话框的介绍,说明在开发整个网站中所使用的三层架构、可空类型数据与数据库交互、用户输入验证与字符串转换输出、验证控件的封装与样式、弹出对话框的教据提交和样式部局、浏览器对于CSS样式的兼容性测试和提高上网用户的体验等技术和问题.
【总页数】1页(P199)
【作者】周建;朱广祯
【作者单位】郑州幼儿师范学校河南郑州 450000;郑州幼儿师范学校河南郑州450000
【正文语种】中文
【相关文献】
在电力信息网站开发中的技术研究与实现 [J], 范国祥
网站开发中如何实现弹出对话框 [J], 衣李娜
在高校二级网站开发中的技术研究与实现 [J], 颜辉;龙多
4.ASP.NET动态网站开发中的网页问传值技术 [J], 田荣林;崔红霞
在医院图书馆网站开发中的应用 [J], 黎绍武; 赵金华; 曾琦
因版权原因,仅展示原文概要,查看原文内容请购买。
浅谈网站对话框的弹出方案弹出对话框,包含三层级的总架构、数据库配有的交互路径、输入进来的验证、转换得来的精准字符串。
为了规避常常见到的误差操作,在设定网站之时,应能缩减添加上去的页面数目、文本框附带的总控件。
弹出对话框特有的配件,缩减页面总数。
这种设计之中,针对细分出来的数据类别,修正及变更原初的文本框。
这种弹出特性,提升了原有的网站水准。
1 新颖设计特有的价值用户发布信息、设定个性网页,都要填写偏多的关联信息。
填写好的信息,还应被存留在建构的数据库、衔接着的服务器。
对应这种需求,初始时段的网站开发,就应拟定多层级的可用页面。
配套页面之中,还应附带文本框,搭配可用控件。
添加这类控件,方便了平日之中的信息填充、信息修正等。
从现状看,各类技术加快了原有的更新速率,缩减了刷新时段。
多样媒体技术,增添多层级网页,缩减等待耗费。
但与此同时,这种成套技术也布设了更多页面、文本框拟定的有关控件。
用户上网之时,需要填充信息。
在修正信息时,为了纠正特有的某一控件偏差,还需把拟定好的完备页面都予以修正。
这种修正方式添加了额外范畴的服务器荷载,带来误差操作,缩减应有的最优体验。
为了规避这一状态,初始时段的设计之中,应能减少附带着的文本框、减少必备页面以及成套控件。
设定弹出对话框,即可缩减页面。
针对细分出来的数据类别,修正特有的文本框。
弹出来的特有对话框,包含宏观架构下的网站框架、控件封装状态、数值提交式样。
采纳CSS特有的新颖样式,拟定了带有兼容特性的精准测试。
在设定好的浏览器以内,即可搜索下载。
2 总体网站构架选取开发实例,采纳了多层级特有的网站架构。
拟定出来的宏观框架,从底侧层级直至布设的前台,依次涵盖着数据库、配套访问工具、实体层级及特有的访问层级、业务逻辑关涉的层级、惯用的函数层、网站表示层。
访问工具层配有的更新文件,表征了重载函数。
针对细化类别,更新必备数据、其他范畴的关联数据。
表示层带有验证特性的某控件、封装必备样式。
点击按钮弹出⽂件夹选择框的实现(⽹页)在⽹站实际的开发中,⽐如:需要实现点击⼀个类似于FileUpload的浏览...按钮,弹出⽂件夹选择框,然后选择本地路径下的 某⼀⽂件夹,将该路径值付给TextBox。
参考了好多⽹络资料,但是其主要实现⽅式是通过FileUpload,但是这种⽂件上传⽅式去不能很好的解决 该功能需求;只好寻求别的解决⽅法。
在不断深⼊的学习中,发现可以通过JS的⽅式来得以实现该需求。
下⾯是详细的实现过程,供⼤家参考。
解决⽅法1:调⽤windows 的shell,但会有安全问题。
该⽂件定义了BrowseFolder()函数,它将提供⼀个⽂件夹选择对话框以供⽤户实现对系统⽂件夹选择的功能,⽂件夹选择对话框起始⽬录由Shell.BrowseForFolder(WINDOW_HANDLE, Message, OPTIONS, strPath)函数的strPath参数设置例如:0x11--我的电脑;0 ——桌⾯."c:\\"--系统C盘。
你可以创建⼀个browseFolder.js,然后进⾏调⽤,⽤如下代码把该函数应⽤到⼀个HTML⽂件中:<script src="browseFolder.js"></script>2、可信任站点安全级别⾃定义设置中:选择“Internet选项下——安全选项卡”,点击“⾃定义级别”按钮设置下⾯的选项 “对未标记为安全的ActiveX控件进⾏初始化和脚本运⾏”,将该项设置为启⽤。
1//path 要显⽰值的对象id2function BrowseFolder() {3try {4var Message = "请选择⽂件夹";5var Shell = new ActiveXObject("Shell.Application");6var Folder = Shell.BrowseForFolder(0, Message, 0x0040, 0x11); //起始⽬录为:我的电脑7if (Folder != null) {8 Folder = Folder.items(); // 返回 FolderItems 对象9 Folder = Folder.item();10 Folder = Folder.Path; // 返回路径11if (Folder.charAt(Folder.length - 1) != "\\") {12 Folder = Folder + "\\";13 }14var bb = document.getElementByIdx_x("<%=txtBackupPath.ClientID%>");15//document.getElementByIdx_x("BackupPath").value = Folder;16 bb.value = Folder;17return Folder;18 }19 } catch (e) {20 alert(e.message);21 }22 }下,TextBox和Button中的使⽤⽅法:<asp:TextBox runat="server" ID="txtBackupPath" Width="488px">E:\数据库</asp:TextBox><asp:Button runat="server" Text="浏览..." Width="78px" OnClientClick="BrowseFolder()"/>这种⽅法能很好的实现后台对数据的处理,所以相对完美。
任务四制作聊天室退出页面任务描述当聊天室用户关闭当前浏览器窗口或单击“退出”图像时均应调用退出文件,以确定当前用户退出聊天室,并显示“退出”页面。
任务分析聊天室的用户退出时需要将“在线用户”修改为“不在线”,用户表userb中的是否在线字段的值可用来控制用户的在线与否,退出聊天室界面时只要将表中的online字段由1修改为0即可。
方法与步骤1.设计退出页面(exit.asp)设计如图所示的“退出”页面。
图3-4-12.编写退出相关代码切换到代码视图,在文档起始处输入如下代码:<%username=session("username")if username<>"" then'使用Connection对象连接数据库Set conn=Server.CreateObject("ADODB.connection")conn.ConnectionString="driver={Microsoft Access driver (*.mdb)};" & "DBQ= " & Server.MapPath("lts.mdb")conn.Open'在用户数据表userb中查找当前要退出用户s="select * from userb where username='"&username&"'"set rs=conn.execute(s)if not rs.eof then'将查找到用户的online字段改为0,即用户退出,未在线s1="update userb set online=0 where username='"&username &"'"conn.execute s1conn.closeend ifend if%>3.修改聊天室上部标题框架usertop.asp在<BODY>标签内加入代码<BODY onUnload="javaScript:window.open('exit.asp')">,当退出网页时就可以打开并执行退出文件exit.asp。
弹出模态对话框2008-06-13 08:25主页面PageBase.aspx.cs 中的代码protected void Page_Load(object sender, EventArgs e){if (!this.IsPostBack){//addBtn.Attributes.Add("onclick", "javascript:ShowModalDialog('OvertimeDlog.as px','395px','250px')");//delBtn.Attributes.Add("onclick", "javascript:ShowModalDialog('OvertimeDlog.as px','395px','250px')");this.addBtn.Attributes.Add("onclick", "javascript:OpenOvertimeDlog('add',540,40 0)"); // 增加 Buttonthis.updateBtn.Attributes.Add("onclick", "javascript:OpenOvertimeDlog('up',540, 400)"); // 修改 Button}}主页面PageBase.aspx 中的代码<head runat="server"><title>无标题页</title><script type ="text/javascript" language = "javascript">function OpenOvertimeDlog(frmWin,width,height){var me;var action;action = frmWin;// 把父页面窗口对象当作参数传递到对话框中,以便对话框操纵父页自动刷新。
ASPNET打开新窗口的多种方法.txt男人的话就像老太太的牙齿,有多少是真的?!问:你喜欢我哪一点?答:我喜欢你离我远一点!执子之手,方知子丑,泪流满面,子不走我走。
诸葛亮出山前,也没带过兵!凭啥我就要工作经验?打开新窗口方法一:Response.Write("<script language=\"javascript\">window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=ye s,scrollbars=yes\");</script>");这种方式代码每次是生成在页面最顶端打开新窗口方法二:string strScript = "";strScript += "<script language=\"javascript\">\n";strScript += "window.open('aaa.aspx','新窗口,\"toolbar=yes,location=no,directories=yes,status=yes,menubar=yes,resizable=ye s,scrollbars=yes\");\n";strScript += "location.href='index.html';";strScript += "</script>";bool b = ((Page)System.Web.HttpContext.Current.Handler).IsStartupScriptRegistered("PopUp" );if (!b){((Page)System.Web.HttpContext.Current.Handler).RegisterStartupScript("PopUp",str Script);}这种方式是在页面中生成JAVASCRIPT代码注意:如果输出JAVSSCRIPT语句后,页面又用Response.Redirect跳转到其他页,JAVASCRIPT 将不会出现.实现弹出窗口和跳转同时必须都在JAVASCRIPT语句里,这是我测试的,不知道大家有没有什么不同的意见??中打开新窗口的多种方法1.Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替;2. Response.Write("<script>window.open(XXX.aspx'',''_blank'')</script>")——原窗口保留,另外新增一个新页面;3.Response.Write("<script>window.location=XXX.aspx''</script>")——打开新的页面,原窗口被代替;4.Server.Transfer("XXX.aspx")——打开新的页面;5.Response.Write("<script>window.showModelessDialog(XXX.aspx'')</script>")——原窗口保留,以对话框形式打开新窗口;6.Response.Write("<script>window.showModalDialog(XXX.aspx'')</script>")——对话框形式打开新窗口,原窗口被代替;------------------------所属分类:.NET技术 ----------------------------------------------------------------------为什么如下语句能使用,能正确执行.如下Response.Write("<scriptlanguage=javascript>window.open('repair.aspx?UN="+usernumber+"&SID="+serviceID+" ')</script>");而加上参数后就不能执行了呢?如下Response.Write("<scriptlanguage=javascript>window.open('repair.aspx?UN="+usernumber+"&SID="+serviceID+" ','toolbar=no,status=no')</script>");----------------------------------------------------------------------Response.Write("<scriptlanguage=javascript>window.open('repair.aspx?UN="+usernumber+"&SID="+serviceID+" ',’’,'toolbar=no,status=no')</script>");这样看看!--------------------------------------------------------把逗号换成分号toolbar=no;scrollbars=no--------------------------------------------中打开新窗口的多种方法(转载)1.Response.Redirect("XXX.aspx",true)——直接转向新的页面,原窗口被代替;2. Response.Write("<script>window.open(XXX.aspx','_blank')</script>")——原窗口保留,另外新增一个新页面;3.Response.Write("<script>window.location=XXX.aspx'</script>")——打开新的页面,原窗口被代替;4.Server.Transfer("XXX.aspx")——打开新的页面;5.Response.Write("<script>window.showModelessDialog(XXX.aspx')</script>")——原窗口保留,以对话框形式打开新-----------------------<script language="javascript">function popupkind(xdm){url ="ThisTerm2Add.aspx?xdm="+xdmhr=window.showModalDialog(url,'',"dialogHeight:300px;dialogWidth:300px;dialogLef t:60px;dialogTop:30px;center:1;status:1;title:0;")}</script>。
漂亮的 弹出层在做网站的时候,我们往往要做很多小的操作,但是有不能不做,比如:简单留言,二次登陆,评论等。
这些功能很小,不值得用一个页面来实现其功能,那么“弹出层”就是最好的选择了。
弹出层顾名思义,就是在原网页中弹出一个遮罩层,操作就在这个遮罩层中进行。
其实遮罩层就是一个div只不过要控制好他何时显示,何时消失。
比如我想在一个页面中弹出一个留言层,代码如下:在需要的页面添加如下代码:<script type="text/javascript" language="javascript">function ShowNo() //隐藏两个层{document.getElementById("doing").style.display="none";document.getElementById("divLogin").style.display="none";}function $(id){return (document.getElementById) ? document.getElementById(id) : document.all[id] ;}function showFloat() //根据屏幕的大小显示两个层{var range = getRange();$('doing').style.width = range.width + "px";$('doing').style.height = range.height + "px";$('doing').style.display = "block";document.getElementById("divLogin").style.display="";}function getRange() //得到屏幕的大小{var top = document.body.scrollTop;var left = document.body.scrollLeft;var height = document.body.clientHeight;var width = document.body.clientWidth;if (top==0 && left==0 && height==0 && width==0){top = document.documentElement.scrollTop;left = document.documentElement.scrollLeft;height = document.documentElement.clientHeight;width = document.documentElement.clientWidth;}return {top:top ,left:left ,height:height ,width:width } ;}</script><!--加一个半透明层--><div id="doing" style="filter:alpha(opacity=30);-moz-opacity:0.3;opacity:0.3;background-color:#000;width:100%; height:100%;z-index:1000;position: absolute;left:0;top:0;display:none;overflow: hidden;"> </div><!--加一个登录层--><div id="divLogin" style="border:solid 10px #898989;background:#fff;padding:10px;width:780px;z-index:1001; position: absolute; display:none;top:50%; left:50%;margin:-200px 0 0 -400px;"><div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" ><div>您正在给会员--<asp:Label ID="lbToWho" runat="server" Text=""></asp:Label> 留言<br /><br />标题:<asp:TextBox ID="TxtTitle" runat="server" Width="349px" ></asp:TextBox></div><br /><div>内容:<asp:TextBox ID="TxtContent" runat="server" TextMode="MultiLine" Height="65px"Width="355px"></asp:TextBox></div><br/><div> <asp:Button ID="BtnCommite" runat="server" Text="提交留言"onclick="BtnCommite_Click"/> <input id="BttCancel" type="button" value="关闭" onclick="ShowNo()" /></div></div></div>调用:<a href="javascript:void(0)" onclick="showFloat()" style="color:Red;">给我留言</a>直接运行你就可以看到非常漂亮的弹出层了。
aspx页⾯弹出窗⼝代码⼤全//关闭,⽗窗⼝弹出对话框,⼦窗⼝直接关闭this.Response.Write("<script language=javascript>window.close();</script>");//关闭,⽗窗⼝和⼦窗⼝都不弹出对话框,直接关闭this.Response.Write("<script>");this.Response.Write("{top.opener =null;top.close();}");this.Response.Write("</script>");//弹出窗⼝刷新当前页⾯width=200 height=200菜单。
菜单栏,⼯具条,地址栏,状态栏全没有this.Response.Write("<script language=javascript>window.open('rows.aspx','newwindow','width=200,height=200')</script>");//弹出窗⼝刷新当前页⾯this.Response.Write("<script language=javascript>window.open('rows.aspx')</script>");this.Response.Write("<script>window.open('WebForm2.aspx','_blank');</script>");//弹出提⽰窗⼝跳到webform2.aspx页(在⼀个IE窗⼝中)this.Response.Write(" <script language=javascript>alert('注册成功');window.window.location.href='WebForm2.aspx';</script> ");//关闭当前⼦窗⼝,刷新⽗窗⼝this.Response.Write("<script>window.opener.location.href=window.opener.location.href;window.close();</script>");this.Response.Write("<script>window.opener.location.replace(window.opener.document.referrer);window.close();</script>");//⼦窗⼝刷新⽗窗⼝this.Response.Write("<script>window.opener.location.href=window.opener.location.href;</script>");this.Response.Write("<script>window.opener.location.href='WebForm1.aspx';</script>");//弹出提⽰窗⼝.确定后弹出⼦窗⼝(WebForm2.aspx)this.Response.Write("<script language='javascript'>alert('发表成功!');window.open('WebForm2.aspx')</script>");//弹出提⽰窗⼝,确定后,刷新⽗窗⼝this.Response.Write("<script>alert('发表成功!');window.opener.location.href=window.opener.location.href;</script>");//弹出相同的⼀页<INPUT type="button" value="Button" onclick="javascript:window.open(window.location.href)">//Response.Write("parent.mainFrameBottom.location.href='yourwebform.aspx?temp=" +str+"';");<SCRIPT LANGUAGE="javascript"><!--window.open ('page.html', 'newwindow', 'height=100, width=400, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') //这句要写成⼀⾏--></SCRIPT> 参数解释:<SCRIPT LANGUAGE="javascript"> js脚本开始; window.open 弹出新窗⼝的命令; 'page.html' 弹出窗⼝的⽂件名; 'newwindow' 弹出窗⼝的名字(不是⽂件名),⾮必须,可⽤空''代替; height=100 窗⼝⾼度; width=400 窗⼝宽度; top=0 窗⼝距离屏幕上⽅的象素值; left=0 窗⼝距离屏幕左侧的象素值; toolbar=no 是否显⽰⼯具栏,yes为显⽰; menubar,scrollbars 表⽰菜单栏和滚动栏。
进入网页后自动跳出的对话框代码经常上网的朋友可能到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个链接或按钮弹出,通常在这个窗口里会显示一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要特别提示的信息。
其实制作这样的页面非常容易,只要往该页面的HTML 里加入几段javascript代码即可实现。
下面我就带你剖析它的奥秘。
【最基本的弹出窗口代码】其实代码非常简单:<SCRIPT LANGUAGE="javascript"><!--window.open ('page.html')--></SCRIPT>因为这是一段javascript代码,所以它们应该放在<SCRIPT LANGUAGE ="javascript">标签和</script>之间。
<!--和-->是对一些版本低的浏览器起作用,在这些老浏览器中如果不支持javascript,不会将标签中的代码作为文本显示出来。
Window.open ('page.html')用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。
用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,加入到<head>和</head>之间也可以,位置越靠前执行越早,尤其是页面代码较长时,又想使页面早点弹出就尽量往前放。
【经过设置后的弹出窗口】下面再说一说弹出窗口外观的设置。
只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出窗口的外观、尺寸大小、弹出位置以适应该页面的具体情况。
<SCRIPT LANGUAGE="javascript"><!--window.open('page.html','newwindow','height=100,width=400,top=0,left=0,t oolbar=no,menubar=no,scrollbars=no,resizable=no, location=no,status=no')//写成一行--></SCRIPT>参数解释:<SCRIPT LANGUAGE="javascript"> js脚本开始;window.open 弹出新窗口的命令;page.html 弹出新窗口的文件名;newwindow 弹出窗口的名字(不是文件名),可用空〃代替;height=100 窗口高度;top=0 窗口距离屏幕上方的像素值;left=0 窗口距离屏幕左侧的像素值;toolbar=no 是否显示工具栏,yes为显示;menubar,scrollbars 表示菜单栏和滚动栏;resizable=no 是否允许改变窗口大小,yes为允许;location=no 是否显示地址栏,yes为允许;status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许;</SCRIPT> js脚本结束。
中的⼏种弹出框提⽰B/S不像C/S那样⼀个MessageBox就可以弹出提⽰框,不过可以通过js的“Alert”来弹出消息,或者通过⼀些变种的js⽅法。
下⾯我给⼤家介绍⼏种,希望⼤家喜欢。
四种弹出框代码:protected void Message_Click(object sender, EventArgs e){//第⼀种Response.Write("<script language=javascript>alert('第⼀种弹出框');</" + "script>");//第⼆种Page.RegisterStartupScript("", "<script language='javascript'>window.alert('第⼆种弹出框');</script>");//第三种ClientScriptManager scriptManager = ((Page)System.Web.HttpContext.Current.Handler).ClientScript;scriptManager.RegisterStartupScript(typeof(string), "", "alert('第三种弹出框');", true);//第四种Page.ClientScript.RegisterStartupScript(Page.GetType(), "message", "<script language='javascript' defer>alert('第四种弹出框');</script>");}上⾯四种⽅法都⾮常的简单,其实更简单的⽅法是像下⾯那样,将它们封装到⼀个⽅法⾥⾯。
WinForm控件开发基础教程八弹出式编辑对话框前几篇文章我们一直在讨论如何更方便的编辑复杂类型的属性,在这个过程中我介绍了类型转换器以及如何制作自己的类型转换器来实现属性值的串行化和实现子属性的编辑。
对于Scope这种级别的复杂属性,一个类型转换器就已经足够了,但是对于更为复杂的属性,单单使用类型转换器已经不足以应付了,比如我们常用的Font属性。
在这种情况下,我们就需要提供更为复杂的编辑方式,比如属性编辑对话框,你还记得Font 对话框吗?现在我们就来看看如何实现更复杂的属性编辑。
复杂的属性编辑器分为两种类型,一种是弹出式模态对话框属性编辑器,一种式下拉式属性编辑器。
如果你还没有感性的认识的话,可以观察一下TextBox控件的属性,Font属性的编辑器是模态对话框属性编辑器,Dock属性的编辑器是下拉式属性编辑器。
接下来我们来制作一个模态对话框编辑器,虽然Scope属性并不复杂,但是为了演示的方便,我们还是用它来做例子。
首先我们要做一个用来编辑属性的对话框,在对话框的构造函数里传入要编辑的属性的值。
在对话框类里,声明一个Scope类型的私有变量_scope用以保存传入和编辑后的值。
还要增加一个Scope属性,以便外部环境能够获取编辑后的结果。
对话框的外观如下:在这个对话框里,我们要把OK按钮的DialogResult属性设为OK(当点击OK按钮时,模态对话框关闭,并返回DialogResult.OK),将Cancel按钮的DialogResult属性设为Cancel(当点击OK按钮时,模态对话框关闭,并返回DialogResult.OK)。
另外我们要对用户输入的值做验证,以保证Scope的min和max值都是Int32类型。
下边是对话框的代码:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace CustomControlSample{public partial class ScopeEditorDialog : Form{private Scope _scope = null;public ScopeEditorDialog(Scope scope){InitializeComponent();_scope = scope;textBox1.Text = _scope.Min.ToString();textBox2.Text = _scope.Max.ToString();}private void button1_Click(object sender, EventArgs e){_scope.Min = Convert.ToInt32(textBox1.Text);_scope.Max = Convert.ToInt32(textBox2.Text);}private void textBox1_V alidating(object sender, CancelEventArgs e){try{Int32.Parse(textBox1.Text);}catch (FormatException){e.Cancel = true;MessageBox.Show("无效的值", "验证错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}private void textBox2_V alidating(object sender, CancelEventArgs e){try{Int32.Parse(textBox2.Text);}catch (FormatException){e.Cancel = true;MessageBox.Show("无效的值", "验证错误", MessageBoxButtons.OK, MessageBoxIcon.Error);}}public Scope Scope{get { return _scope; }set { _scope = value; }}}}每一个属性的编辑器都是直接或者间接的派生于UITypeEditor。
经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项、版权信息、警告、欢迎光顾之类的话或者作者想要特别提示的信息。
其实制作这样的页面效果非常的容易,只要往该页面的html里加入几段javascript代码即可实现。
下面俺就带您剖析它的奥秘。
【1、最基本的弹出窗口代码】其实代码非常简单:<script language="javascript"><!--window.open ('page.html')--></script>因为着是一段javascripts代码,所以它们应该放在<script language="javascript">标签和</script>之间。
<!-- 和-->是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。
要养成这个好习惯啊。
window.open ('page.html') 用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。
用单引号和双引号都可以,只是不要混用。
这一段代码可以加入html的任意位置,<head>和</head>之间可以,<body>间</body>也可以,越前越早执行,尤其是页面代码长,又想使页面早点弹出就尽量往前放。
【2、经过设置后的弹出窗口】下面再说一说弹出窗口的设置。
只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出的窗口的外观,尺寸大小,弹出的位置以适应该页面的具体情况。
<script language="javascript"><!--window.open ('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')//写成一行--></script>参数解释:<script language="javascript"> js脚本开始;window.open 弹出新窗口的命令;'page.html' 弹出窗口的文件名;'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空''代替;height=100 窗口高度;width=400 窗口宽度;top=0 窗口距离屏幕上方的象素值;left=0 窗口距离屏幕左侧的象素值;toolbar=no 是否显示工具栏,yes为显示;menubar,scrollbars 表示菜单栏和滚动栏。
asp弹出对话框在前台和后台弹出提⽰框⼀、在前台弹出提⽰框1.点击“A”标记或者“控件按钮”弹出提⽰框<asp:LinkButton ID="lbtnDel" runat="server" OnClientClick='<%# "if(!confirm("你确定退订吗?"))return false;"%>' Text="删除"/>2.⽅法⼆:<asp:LinkButton ID="lbtnDel" runat="server" OnClientClick="return confirm('你确定退订吗?');" Text="删除"/>⼆、在后台弹出提⽰框1、输出的提⽰框页⾯⽆刷新if (!this.IsStartupScriptRegistered("订购提⽰")){this.RegisterStartupScript("订购提⽰", "<script>alert('"+returnStr+"');</script>");}2.输出的提⽰框页⾯刷新Response.write("<script>alert('操作成功');</script>");3、返回上⼀页response.write("<a href='javascript://history.back(0);'>返回</a>")注意:1、)以上代码中的分号“;”⼀定不能少,否则代码不能成功执⾏,alert(string para)⽅法中的参数为字符串;2、)如果想在点击完提⽰框的确定按钮之后还想跳转到其他的页⾯,只需在以上代码的分号后⾯添加window.location.href="URL";就可以了,URL为你要跳转到的页⾯的URL地址。
弹出对话框确认目录点击UpdatePanel中的按钮弹出javascript对话框收藏在UpdatePanel控件内使用Response.Write()弹出对话框弹出对话框确认的GridView 删除确认对话框Gridview 弹出对话框GridView实现自动编号点击UpdatePanel中的按钮弹出javascript对话框收藏/// <summary>/// 执行javascript 点击UpdatePanel中的按钮弹出javascript 对话框/// </summary>/// <param name="msg">提示的信息</param>/// <param name="url">提示后链接的地址</param>protected void runJavascript(string msg, string url){string javascriptStr = "";if (url.Length == 0){javascriptStr = "alert('" + msg + "');";}else{javascriptStr = "alert('" + msg + "');location.href='" + url + "'";}ScriptManager.RegisterStartupScript(UpdatePanel1,this.GetType(), "SuccessAlert", javascriptStr, true);}/// <summary>/// 弹出对话框如果没有用到Ajax中的UpdatePanel,可以用以下方法弹出提示框/// </summary>/// <param name="p"></param>/// <param name="strmessage"></param>/// <author></author>/// <createdate></createdate>public static void ShowMessage(Page p, string strmessage) {string strScript = "<script>alert('" + strmessage + "');</script>";p.RegisterStartupScript("script", strScript);}在UpdatePanel控件内使用Response.Write()弹出对话框例子源码:Default.aspx<form id="form1"runat="server"> AJAX使用UpdatePanel控件时Response.Write()报错的解决办法<br/><asp:ScriptManager ID="ScriptManager1"runat="server"/> <div><asp:UpdatePanel ID="UpdatePanel1"runat="server"><ContentT emplate><asp:Button ID="Button3"runat="server"Text="调用通用弹消息方法"OnClick="Button3_Click"/><br/><asp:Button ID="Button1"runat="server" OnClick="Button1_Click"Text="在UpdatePanel内运用Response" /></ContentTemplate></asp:UpdatePanel><asp:Button ID="Button2"runat="server"Text="在UpdatePanel外运用Response"OnClick="Button2_Click"/></div> </form>Default.aspx.csusing 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){}protected void Button1_Click(object sender, EventArgs e){//在UpdatePanel内的按钮响应的事件//Response.Write("<script language=javascript>alert('Hello World!');</script>");//在这里UpdatePanel中运用Response会出错ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.GetType(), "msg1", "alert('Hello World!');", true);}protected void Button2_Click(object sender, EventArgs e){//在UpdatePanel外的按钮响应的事件Response.Write("<script language=javascript>alert('Hello World!');</script>");}public static void Alert(string message){//一个通用的弹消息方法message = message.Replace("'", "’");string js = @"<Script language='JavaScript'>alert('"+ message + "');</Script>";//HttpContext.Current.Response.Write(js);//如果调用此事件的按钮在UpdatePanel中,运行到此时由于Response会出错System.Web.UI.ScriptManager.RegisterStartupScript((System .Web.UI.Page)HttpContext.Current.CurrentHandler,typeof(System.Web.UI.Page), " ", "alert('" + message + "');", true);}protected void Button3_Click(object sender, EventArgs e){//通用弹消息方法按钮响应事件,此按钮在UpdatePanel内Alert("Hello World!");}}弹出对话框确认我们在程序的开发过程中,常常需要向用户给出提示信息,比如是否“操作成功”,“确定”还是“取消”操作。