用C#代碼封裝JavaScript常用代碼的一個類
using System;
using System.Web;
using System.Web.UI.HtmlControls ;
using System.Web.UI;
namespace Common
{
/// <summary>
/// 提供向頁面輸出客戶端代碼實現特殊功能的方法
/// </summary>
public class JScript
{
/// <summary>
/// 彈出警告并重定向頁面
/// </summary>
public static void AlertAndRedirect(string message,string toURL)
{
string js = "<script language=javascript>alert('{0}');window.location.replace('{1}')</script>";
HttpContext.Current.Response.Write(string.Format(js,message ,toURL));
}
/// <summary>
/// 向客戶端發送函數KendoPostBack(eventTarget, eventArgument)
/// 服務器端可接收__EVENTTARGET,__EVENTARGUMENT的值
/// </summary>
/// <param name="page">System.Web.UI.Page 一般為this</param>
public static void JscriptSender(System.Web.UI.Page page)
{
page.RegisterHiddenField("__EVENTTARGET","");
page.RegisterHiddenField("__EVENTARGUMENT","");
string s = @"
<script language=Javascript>
function KendoPostBack(eventTarget, eventArgument)
{
var theform = document.forms[0];
theform.__EVENTTARGET.value = eventTarget;
theform.__EVENTARGUMENT.value = eventArgument;
theform.submit();
}
</script>";
page.RegisterStartupScript("sds",s);
}
/// <summary>
/// 彈出JavaScript警告
/// </summary>
/// <param name="message">窗口信息</param>
public static void Alert(string message)
{
message = StringUtil.DeleteUnVisibleChar(message);
string js=@"<Script language='JavaScript'>
alert('"+ message +"');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 彈出JavaScript警告
/// </summary>
/// <param name="message">窗口信息</param>
public static void Alert(object message)
{
string js=@"<Script language='JavaScript'>
alert('{0}');
</Script>";
HttpContext.Current.Response.Write(string.Format(js,message.ToString()));
}
/// <summary>
/// 彈出JavaScript確認框
/// </summary>
/// <param name="message">窗口信息</param>
/// <param name="strWinCtrl">返回的值true/false</param>
public static void RtnRltMsgbox(object message,string strWinCtrl)
{
string js = @"<Script language='JavaScript'>
strWinCtrl = true;
strWinCtrl = if(!confirm('"+ message +"'))return false;</Script>";
HttpContext.Current.Response.Write(string.Format(js,message.ToString()));
}
/// <summary>
/// 回到歷史頁面
/// </summary>
/// <param name="value">-1/1</param>
public static void GoHistory(int value)
{
string js=@"<Script language='JavaScript'>
history.go({0});
</Script>";
HttpContext.Current.Response.Write(string.Format(js,value));
}
/// <summary>
/// 關閉當前窗口
/// </summary>
public static void CloseWindow()
{
string js=@"<Script language='JavaScript'>
window.close();
</Script>";
HttpContext.Current.Response.Write(js);
HttpContext.Current.Response.End();
}
/// <summary>
/// 刷新父窗口
/// </summary>
public static void RefreshParent()
{
string js=@"<Script language='JavaScript'>
parent.location.reload();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 格式化為JS可解釋的字符串
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string JSStringFormat(string s)
{
return s.Replace("/r","//r").Replace("/n","//n").Replace("'","//'").Replace("/"","///"");
}
/// <summary>
/// 刷新打開窗口
/// </summary>
public static void RefreshOpener()
{
string js=@"<Script language='JavaScript'>
opener.location.reload();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 打開窗口
/// </summary>
public static void OpenWebForm(string url)
{
string js=@"<Script language='JavaScript'>
window.open('"+url+@"','','height=0,width=0,top=0,left=0,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 打開窗口
/// </summary>
public static void OpenWebForm(string url,string name,string future)
{
string js=@"<Script language='JavaScript'>
window.open('"+url+@"','"+name+@"','"+future+@"')
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 打開窗口
/// </summary>
public static void OpenWebForm(string url,string formName)
{
string js=@"<Script language='JavaScript'>
window.open('"+url+@"','"+formName+@"','height=0,width=0,top=0,left=0,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:打開WEB窗口
/// </summary>
/// <param name="url">WEB窗口</param>
/// <param name="isFullScreen">是否全屏幕</param>
public static void OpenWebForm(string url,bool isFullScreen)
{
string js=@"<Script language='JavaScript'>";
if(isFullScreen)
{
js+="var iWidth = 0;";
js+="var iHeight = 0;";
js+="iWidth=window.screen.availWidth-10;";
js+="iHeight=window.screen.availHeight-50;";
js+="var szFeatures ='width=' + iWidth + ',height=' + iHeight + ',top=0,left=0,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no';";
js+="window.open('"+url+@"','',szFeatures);";
}
else
{
js+="window.open('"+url+@"','','height=0,width=0,top=0,left=0,location=no,menubar=no,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');";
}
js+="</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 轉向Url指定的頁面
/// </summary>
/// <param name="url"></param>
public static void JavaScriptLocationHref(string url)
{
string js=@"<Script language='JavaScript'>
window.location.replace('{0}');
</Script>";
js=string.Format(js,url);
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 指定的框架頁面轉換
/// </summary>
/// <param name="FrameName"></param>
/// <param name="url"></param>
public static void JavaScriptFrameHref(string FrameName,string url)
{
string js=@"<Script language='JavaScript'>
@obj.location.replace(""{0}"");
</Script>";
js = js.Replace("@obj",FrameName );
js=string.Format(js,url);
HttpContext.Current.Response.Write(js);
}
/// <summary>
///重置頁面
/// </summary>
public static void JavaScriptResetPage(string strRows)
{
string js=@"<Script language='JavaScript'>
window.parent.CenterFrame.rows='"+strRows+"';</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:客戶端方法設置Cookie
/// </summary>
/// <param name="strName">Cookie名</param>
/// <param name="strValue">Cookie值</param>
public static void JavaScriptSetCookie(string strName,string strValue)
{
string js=@"<script language=Javascript>
var the_cookie = '"+strName+"="+strValue+@"'
var dateexpire = 'Tuesday, 01-Dec-2020 12:00:00 GMT';
//document.cookie = the_cookie;//寫入Cookie<BR>} <BR>
document.cookie = the_cookie + '; expires='+dateexpire;
</script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 函數名:GotoParentWindow
/// 功能描述:返回父窗口
/// </summary>
/// <param name="parentWindowUrl">父窗口</param>
public static void GotoParentWindow(string parentWindowUrl)
{
string js=@"<Script language='JavaScript'>
this.parent.location.replace('"+parentWindowUrl+"');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:替換父窗口
/// </summary>
/// <param name="parentWindowUrl">父窗口</param>
/// <param name="caption">窗口提示</param>
/// <param name="future">窗口特征參數</param>
public static void ReplaceParentWindow(string parentWindowUrl,string caption,string future)
{
string js="";
if(future!=null&&future.Trim()!="")
{
js=@"<script language=javascript>this.parent.location.replace('"+parentWindowUrl+"','"+caption+"','"+future+"');</script>";
}
else
{
js=@"<script language=javascript>var iWidth = 0 ;var iHeight = 0 ;iWidth=window.screen.availWidth-10;iHeight=window.screen.availHeight-50;
var szFeatures = 'dialogWidth:'+iWidth+';dialogHeight:'+iHeight+';dialogLeft:0px;dialogTop:0px;center:yes;help=no;resizable:on;status:on;scroll=yes';this.parent.location.replace('"+parentWindowUrl+"','"+caption+"',szFeatures);</script>";
}
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:替換當前窗體的打開窗口
/// </summary>
/// <param name="openerWindowUrl">當前窗體的打開窗口</param>
public static void ReplaceOpenerWindow(string openerWindowUrl)
{
string js=@"<Script language='JavaScript'>
window.opener.location.replace('"+openerWindowUrl+"');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:替換當前窗體的打開窗口的父窗口
/// </summary>
/// <param name="openerWindowUrl">當前窗體的打開窗口的父窗口</param>
public static void ReplaceOpenerParentFrame(string frameName,string frameWindowUrl)
{
string js=@"<Script language='JavaScript'>
window.opener.parent." + frameName + ".location.replace('"+frameWindowUrl+"');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:替換當前窗體的打開窗口的父窗口
/// </summary>
/// <param name="openerWindowUrl">當前窗體的打開窗口的父窗口</param>
public static void ReplaceOpenerParentWindow(string openerParentWindowUrl)
{
string js=@"<Script language='JavaScript'>
window.opener.parent.location.replace('"+openerParentWindowUrl+"');</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:關閉父窗口
/// </summary>
public static void CloseParentWindow()
{
string js=@"<Script language='JavaScript'>
window.parent.close();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:關閉打開窗口
/// </summary>
public static void CloseOpenerWindow()
{
string js=@"<Script language='JavaScript'>
window.opener.close();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:返回打開模式窗口的腳本
/// </summary>
public static string ShowModalDialogJavascript(string webFormUrl)
{
string js=@"<script language=javascript>
var iWidth = 0 ;
var iHeight = 0 ;
iWidth=window.screen.availWidth-10;
iHeight=window.screen.availHeight-50;
var szFeatures = 'dialogWidth:'+iWidth+';dialogHeight:'+iHeight+';dialogLeft:0px;dialogTop:0px;center:yes;help=no;resizable:on;status:on;scroll=yes';
showModalDialog('"+webFormUrl+"','',szFeatures);</script>";
return js;
}
/// <summary>
/// 功能描述:返回打開模式窗口的腳本
/// </summary>
public static string ShowModalDialogJavascript(string webFormUrl,string features)
{
string js=@"<script language=javascript>
showModalDialog('"+webFormUrl+"','','"+features+"');</script>";
return js;
}
/// <summary>
/// 功能描述:打開模式窗口
/// </summary>
public static void ShowModalDialogWindow(string webFormUrl)
{
string js=ShowModalDialogJavascript(webFormUrl);//
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:打開模式窗口
/// </summary>
public static void ShowModalDialogWindow(string webFormUrl,string features)
{
string js=ShowModalDialogJavascript(webFormUrl,features);
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 功能描述:打開模式窗口
/// </summary>
public static void ShowModalDialogWindow(string webFormUrl,int width,int height,int top,int left)
{
string features = "dialogWidth:"+width.ToString() + "px"
+";dialogHeight:" + height.ToString() + "px"
+";dialogLeft:" + left.ToString() + "px"
+";dialogTop:" + top.ToString() + "px"
+";center:yes;help=no;resizable:no;status:no;scroll=no";
ShowModalDialogWindow(webFormUrl,features);
}
/// <summary>
/// 設定html頁面中指定元素的值
/// </summary>
public static void SetHtmlElementValue(string formName,string elementName,string elementValue)
{
string js=@"<Script language='JavaScript'>if(document."+formName+"." + elementName +"!=null){document."+formName+"." + elementName +".value ="+ elementValue +";}</Script>";
HttpContext.Current.Response.Write(js);
}
}
}