前些日子上网,无意看到一个对话框组件,下载下来,并且查看API,感觉用在项目中还是挺适合的。下面就对此款对话框组件做一个基本的介绍,希望能够起到一个抛砖引玉的作用。
本人的开发环境VisualStudio2010,话不多说。
下载地址:http://code.google.com/p/lhgdialog/downloads/list
演示地址:http://bbs.one580.com/lhg4/index.html
下面介绍如何使用在自己的项目当中。
第一步:下载lhgdialog,下图是其目录结构,其中demo和doc是提供的例子和文档。
第二步:将lhgdialog引入到项目当中
第三步:写一个测试,在aspx中引入三个文件,其中包括Jquery
<script type="text/javascript" language="javascript" src="JS/Jquery/jquery-1.6.1.min.js"></script>
<script type="text/javascript" language="javascript" src="JS/lhgdialog/lhgdialog.js?self=true&skin=qq2011"></script>
<script type="text/javascript" language="javascript" src="JS/lhgdialog/LhgAlertJump.js"></script>
在
lhgdialog里面提供了一些主题,你可以选用自己喜爱的,skin = "主题名称",你也可以自己书写主题。

第四步:后台代码,在aspx.cs中,下面这段C#代码,你可以拷贝过去直接使用,在项目中可以放到Common中,namespace、method都可以根据需要进行修改。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Matic.Common
{
public class MsgBox : System.Web.UI.Page
{
public static void Tips(System.Web.UI.Page pageCurrent, string msg, double time, string url)
{
StringBuilder strbox = new StringBuilder();
strbox.Append("$(function(){ lhgdialog.tips(\"" + msg + "\",\"" + time + "\",\"i.png\");");
string u = string.Empty;
if (!string.IsNullOrEmpty(url))
{
u = "setTimeout(\"window.location.href=\'" + url + "'\", " + time * 1000 + ");";
}
strbox.Append("" + u + "});");
pageCurrent.ClientScript.RegisterClientScriptBlock(pageCurrent.GetType(), "lhgdialog.tips", strbox.ToString(), true);
}
/// <summary>
/// 弹出提示
/// </summary>
/// <param name="pageCurrent">当前页面对象</param>
/// <param name="msg">弹出消息内容</param>
/// <param name="url">跳转页面为空表示不跳转"back"表示返回</param>
public static void Alert(System.Web.UI.Page pageCurrent, string msg, string url)
{
StringBuilder strbox = new StringBuilder();
string u = string.Empty;
if (!string.IsNullOrEmpty(url))
{
if (url == "back")
{
u = "function(){setTimeout(function(){history.back(-1);},1);}";
}
else
{
u = "function(){setTimeout(function(){window.location.href='" + url + "';},1);}";
}
strbox.Append("$(function(){ lhgdialog.alertjump(\"" + msg + "\"," + u + ",\"\",\"系统提示\"); });");
}
else
{
strbox.Append("$(function(){ lhgdialog.alert(\"" + msg + "\",\"\",\"系统提示\");}); ");
}
pageCurrent.ClientScript.RegisterClientScriptBlock(pageCurrent.GetType(), "lhgdialog.alert", strbox.ToString(), true);
}
/// <summary>
/// Confirm弹出提示框
/// </summary>
/// <param name="pageCurrent">当前页面对象</param>
/// <param name="msg">弹出消息内容</param>
/// <param name="Determine">确定内容lhgdialog.tips("你点击了确定按钮。");</param>
/// <param name="Cancel">取消内容lhgdialog.tips("你点击了关闭");</param>
/// <param name="url">跳转页面为空表示不跳转"back"表示返回</param>
public static void Confirm(System.Web.UI.Page pageCurrent, string msg, string Determine, string Cancel, string url)
{
StringBuilder strbox = new StringBuilder();
strbox.Append("$(function(){ lhgdialog.confirm(\"" + msg + "\",");
string u = string.Empty;
strbox.Append("function(){" + Determine + "");
if (!string.IsNullOrEmpty(url))
{
if (url == "back")
{
u = "setTimeout(function(){history.back(-1);},2000);";
}
else
{
u = "setTimeout(function(){window.location.href='" + url + "';},2000);";
}
}
strbox.Append("" + u + "},");
strbox.Append("function(){" + Cancel + "})");
strbox.Append("});");
pageCurrent.ClientScript.RegisterClientScriptBlock(pageCurrent.GetType(), "lhgdialog.confirm", strbox.ToString(), true);
}
/// <summary>
/// 弹出框
/// </summary>
/// <param name="pageCurrent">当前页面对象</param>
/// <param name="id">窗口ID</param>
/// <param name="title">窗口标题</param>
/// <param name="msg">弹出消息内容</param>
/// <param name="icon">弹出框图标类型:warning警告消息,msg新消息,ok这是一个正确消息,rss订阅信息,lock锁定</param>
public static void Dialog(System.Web.UI.Page pageCurrent, string id, string title, string msg, string icon, string url)
{
StringBuilder strbox = new StringBuilder();
strbox.Append("$(function(){ $.dialog({");
strbox.Append("id:\"" + id + "\",");
strbox.Append("title:\"" + title + "\",");
strbox.Append("content:\"" + msg + "\",");
strbox.Append("icon:\"" + icon + ".png\"");
string u = string.Empty;
if (!string.IsNullOrEmpty(url))
{
if (url == "back")
{
u = ",close:function(){{history.back(-1);};";
}
else
{
u = ",close:function(){window.location.href='" + url + "';}";
}
}
strbox.Append("" + u + "}); });");
pageCurrent.ClientScript.RegisterClientScriptBlock(pageCurrent.GetType(), "$.dialog", strbox.ToString(), true);
}
}
}
说了这么多,无图无真相啦,调用的时候,可以如下调用。
Matic.Common.MsgBox.Alert(this, "你好,开飞机的舒克", "");

怎么样,效果还可以吧。
当然,这个组件的功能远不止如此~~~