现在的位置: 首页 > 综合 > 正文

让ymPrompt和asp.net配合的方法

2012年04月14日 ⁄ 综合 ⁄ 共 2022字 ⁄ 字号 评论关闭

  ymPrompt是一个很好用的替换网页确定和取消对话框的脚本.有了它我们可以弹出很漂亮的对话框.用在asp.net里要做点小技巧.原因是button的onclientclick没等用户确定就提交了.

     处理的方法关键在于回发,button类型,handler的配置.直接在button1里写是不行的,那样就马上提交了.方法就是在提交前进行确认,然后由回调函数提交表单.因为dopost客户端脚本在有不是button和imagebutton等回发控件的情况下才会触发,所以加一个usesubmitbehavior属性,让客户端有dopost脚本.谁感兴趣就做个控件吧. 最后就是把按钮隐藏了.

 

<%@ Page Language="C#" AutoEventWireup="true" Codebehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>

<!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>Untitled Page</title>
    <script type="text/javascript" src="ymPrompt.js"></script>
    <link rel="stylesheet" type="text/css" href="ymPrompt.css" />
    
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" UseSubmitBehavior="false" style="display:none;" />
            <input id="Button2" type="button" value="button" onclick="ymPrompt.confirmInfo({message:'信息确认框功能测试',handler:handler})" />
            <script type="text/javascript">
        var handler=function(){
            __doPostBack('Button1','');
        }
    </script>
   <%-- http://www.ajaxbbs.net/test/ymPrompt4.0/demo.html--%>
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
        </div>
    </form>
</body>
</html>

  

2,解压后,把skin文件夹拷到你的css文件夹里面,把ymPrompt.js文件拷到你的js文件夹中。

3,下面就是页面引入js和css文件夹,在

<head>

<script type="text/javascript" src="js/ymPrompt.js"></script> <link rel="stylesheet" type="text/css" href="css/skin/qq/ymPrompt.css" />

</head>

3,在页面使用,<input id="input1" onclick="ymPrompt.alert('显示的内容','宽度,要是不想设可以传null','高度要是不想设可以传null','标题',回调函数);"要是你只需要弹出简单的对话框提示用户,可以不设回调函数。如果需要用户点击的状态,确定/取消/关闭按钮被点击时会触发该回调函数并传入点击的按钮标识。如ok代表确定,cancel代表取消,close代表关闭 ,这样就可以作相应的处理。但是我们在实际的开发中,可能不能这样用,因为我们用的是服务器控件的button,我们在程序的判断中需要弹出来,这样就需要, 我们可以写一个通用的方法,传入一个弹出要显示的内容,

Response.Write("<script type='text/javascript' src='js/ymPrompt.js'></script> ");

Response.Write("<script type='text/javascript'>ymPrompt.alert('" + title + "',null,null,'抽奖活动');</script>");

就这几步,就完成了弹出漂亮对话框的效果来了。哈哈!但是有一个问题,不得不说,这个东西虽然好看,但是会影响系统的性能,建议那些对系统性能要求很高的不要轻易的使用。

抱歉!评论已关闭.