C#.NET Js操作类

 

using System.Text;
using System.Web;
using System.Web.UI.HtmlControls;

namespace Pub.Class
{
/// <summary>
/// Js操作类
/// </summary>
public class Js
{
#region Run
/// <summary>
/// 运行JS代码
/// </summary>
/// <param name="Page">指定Page</param>
/// <param name="strCode">要注册的代码</param>
/// <param name="isTop">是否在头部/否则在尾部</param>
public static void Run(System.Web.UI.Page Page, string strCode,bool isTop)
{
StringBuilder sb
= new StringBuilder();
sb.Append(
"<script language=\"javascript\">\n");
sb.Append(strCode.Trim());
sb.Append(
"\n</script>\n");
if (isTop) Page.RegisterClientScriptBlock("RunTopJs", sb.ToString()); else Page.RegisterStartupScript("RunBottomJs", sb.ToString());
}
/// <summary>
/// 运行JS代码
/// </summary>
/// <param name="Page">指定Page</param>
/// <param name="strCode">要注册的代码</param>
/// <param name="isTop">是否在头部/否则在尾部</param>
/// <param name="IDStr">Key</param>
public static void Run(System.Web.UI.Page Page, string strCode,bool isTop,string IDStr)
{
StringBuilder sb
= new StringBuilder();
sb.Append(
"<script language=\"javascript\">\n");
sb.Append(strCode.Trim());
sb.Append(
"\n</script>\n");
if (isTop) Page.RegisterClientScriptBlock(IDStr, sb.ToString()); else Page.RegisterStartupScript(IDStr, sb.ToString());
}
/// <summary>
/// 清空指定注册的JS代码
/// </summary>
/// <param name="Page">指定Page</param>
/// <param name="isTop">是否在头部/否则在尾部</param>
/// <param name="IDStr">Key</param>
public static void Run(System.Web.UI.Page Page, bool isTop,string IDStr)
{
if (isTop) Page.RegisterClientScriptBlock(IDStr, ""); else Page.RegisterStartupScript(IDStr, "");
}
#endregion

#region Alert
/// <summary>
/// 提示信息
/// </summary>
/// <param name="msg">消息</param>
public static void Alert(string msg)
{
StringBuilder sb
= new StringBuilder();
sb.Append(
"<script language=\"javascript\"> \n");
sb.Append(
"alert(\"" + msg.Trim() + "\"); \n");
sb.Append(
"</script>\n");
HttpContext.Current.Response.Write(sb.ToString());
}
/// <summary>
/// 提示信息
/// </summary>
/// <param name="Page">指定页</param>
/// <param name="msg">消息</param>
public static void Alert(System.Web.UI.Page Page, string msg)
{
StringBuilder sb
= new StringBuilder();
sb.Append(
"<script language=\"javascript\"> \n");
sb.Append(
"alert(\"" + msg.Trim() + "\"); \n");
sb.Append(
"</script>\n");
Page.RegisterClientScriptBlock(
"AlertJs", sb.ToString());
}
/// <summary>
/// 提示信息
/// </summary>
/// <param name="Page">指定页</param>
/// <param name="msg">消息</param>
/// <param name="isTop">是否在头部/否则在尾部</param>
public static void Alert(System.Web.UI.Page Page, string msg, bool isTop)
{
StringBuilder sb
= new StringBuilder();
sb.Append(
"<script language=\"javascript\"> \n");
sb.Append(
"alert(\"" + msg.Trim() + "\"); \n");
sb.Append(
"</script>\n");
if (isTop) Page.RegisterClientScriptBlock("AlertTopJs", sb.ToString()); else Page.RegisterStartupScript("AlertBottomJs", sb.ToString());
}
#endregion

#region Import/loadCss/AddAttr/chkFormData
/// <summary>
/// 注册一个处部JS文件/或CSS文件
/// </summary>
/// <param name="Page">指定页</param>
/// <param name="filePath">文件</param>
/// <param name="isTop">是否在头部/否则在尾部</param>
public static void Import(System.Web.UI.Page Page, string filePath, bool isTop)
{
StringBuilder sb
= new StringBuilder();
if (filePath.ToLower().Substring(filePath.Length-3,3) == ".js") {
sb.Append(
"<script language=\"JavaScript\" src=\"" + filePath + "\" type=\"text/javascript\"></script>\n");
if (isTop) Page.RegisterClientScriptBlock("TopJs", sb.ToString()); else Page.RegisterStartupScript("BottomJs", sb.ToString());
}
if (filePath.ToLower().Substring(filePath.Length - 4,4) == ".css") {
LoadCss(Page, filePath);
}
}
/// <summary>
/// 注册一个处部CSS文件
/// </summary>
/// <param name="page">Page</param>
/// <param name="cssFile">CSS文件</param>
public static void JsLoadCss(System.Web.UI.Page page,string cssFile)
{
Run(page,
"setStyle(\"" + cssFile + "\");\n", true);
}
/// <summary>
/// 注册一个处部CSS文件
/// </summary>
/// <param name="placeHolder">PlaceHolder组件</param>
/// <param name="cssFile">CSS文件</param>
public static void LoadCss(System.Web.UI.WebControls.PlaceHolder placeHolder, string cssFile)
{
HtmlGenericControl objLink
= new HtmlGenericControl("LINK");
objLink.Attributes[
"rel"] = "stylesheet";
objLink.Attributes[
"type"] = "text/css";
objLink.Attributes[
"href"] = cssFile;
placeHolder.Controls.Add(objLink);
//<asp:placeholder id="MyCSS" runat="server"></asp:placeholder>
}
/// <summary>
/// 注册一个处部CSS文件
/// </summary>
/// <param name="page">Page</param>
/// <param name="cssFile">CSS文件</param>
public static void LoadCss(System.Web.UI.Page page,string cssFile)
{
HtmlLink myHtmlLink
= new HtmlLink();
myHtmlLink.Href
= cssFile;
Js.AddAttr(myHtmlLink,
"rel", "stylesheet");
Js.AddAttr(myHtmlLink,
"type", "text/css");
page.Header.Controls.Add(myHtmlLink);
}
/// <summary>
/// 添加属性
/// </summary>
/// <param name="Control">WebControl</param>
/// <param name="eventStr">名称</param>
/// <param name="MsgStr">内容</param>
public static void AddAttr(System.Web.UI.WebControls.WebControl Control, string eventStr, string MsgStr)
{
Control.Attributes.Add(eventStr, MsgStr);
}
/// <summary>
/// 添加属性
/// </summary>
/// <param name="Control">HtmlGenericControl</param>
/// <param name="eventStr">名称</param>
/// <param name="MsgStr">内容</param>
public static void AddAttr(System.Web.UI.HtmlControls.HtmlGenericControl Control, string eventStr, string MsgStr)
{
Control.Attributes.Add(eventStr, MsgStr);
}
/// <summary>
/// 添加属性
/// </summary>
/// <param name="Control">HtmlGenericControl</param>
/// <param name="eventStr">名称</param>
/// <param name="MsgStr">内容</param>
public static void AddAttr(System.Web.UI.HtmlControls.HtmlControl Control, string eventStr, string MsgStr)
{
Control.Attributes.Add(eventStr, MsgStr);
}
/// <summary>
/// 验证数据完整性
/// </summary>
/// <param name="page">Page</param>
/// <param name="dataValue">内容</param>
/// <param name="divObjStr">div对像 如果为空时以alert方法显示</param>
/// <param name="minLength">最小长度</param>
/// <param name="maxLength">最大长度</param>
/// <param name="titleStr">标题</param>
/// <param name="isNVarchar">是否Nvarchar类型</param>
/// <returns>真/假</returns>
/// <example>
/// <code>
/// private bool doSave()
/// {
/// if (!Cmn.Js.ChkFormData(this, "", "", 1, 20, "姓名", false)) return false;
/// if (!Cmn.Js.ChkFormData(this, "熊", "", 4, 20, "姓名", false)) return false;
/// if (!Cmn.Js.ChkFormData(this, "熊华春123456789123451", "", 4, 20, "姓名", false)) return false;
/// return true;
/// }
/// if (doSave()) Cmn.Js.Alert(this,"成功");
/// </code>
/// </example>
public static bool ChkFormData(System.Web.UI.Page page, string dataValue, string divObjStr, int minLength, int maxLength, string titleStr, bool isNVarchar)
{
int txtObjLength = (isNVarchar) ? dataValue.Length : dataValue.CnLength();
StringBuilder sb
= new StringBuilder();
bool _result = true;
if (txtObjLength==0 && minLength!=0) {
if (divObjStr!="") {
sb.Append(
"document.getElementById(\"" + divObjStr + "\").innerHTML = \"<div class="ErrorMsg">" + titleStr + "不能为空!</div>\";");
}
else {
sb.Append(
"alert('" + titleStr + "不能为空!');");
}
_result
= false;
}
else if (txtObjLength<minLength){
if (divObjStr!="") {
sb.Append(
"document.getElementById(\"" + divObjStr + "\").innerHTML = \"<div class="ErrorMsg">" + titleStr + "不能小于" + minLength + "个字符!</div>\";");
}
else {
sb.Append(
"alert('" + titleStr + "不能小于" + minLength + "个字符!');");
}
_result
= false;
}
else if (txtObjLength>maxLength){
if (divObjStr!="") {
sb.Append(
"document.getElementById(\"" + divObjStr + "\").innerHTML = \"<div class="ErrorMsg">" + titleStr + "不能大于" + maxLength + "个字符!</div>\";");
}
else {
sb.Append(
"alert('" + titleStr + "不能大于" + maxLength + "个字符!');");
}
_result
= false;
}
else {
if (divObjStr != "") { sb.Append("document.getElementById(\"" + divObjStr + "\").innerHTML = \"\");"); }
_result
= true;
}
Js.Run(page, sb.ToString(),
false, titleStr);
return _result ;
}
#endregion
}
}

 

posted @ 2010-07-05 21:33  熊哥  阅读(1764)  评论(0编辑  收藏  举报