using System;
using System.Web;
using System.Web.UI.HtmlControls ;
using System.Web.UI;
namespace Cmn
{
/// <summary>
/// 提供向页面输出用户端代码实现特殊功能的方法
/// </summary>
/// <remarks>
/// </remarks>
public class JScript
{
public static void JscriptString(string str)
{
str = StringUtil.DeleteUnVisibleChar(str);
string js=@"<Script language='JavaScript'>"+ str +"</Script>";
HttpContext.Current.Response.Write(js);
}
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="js">视窗资讯</param>
public static void Alert(string message)
{
message = StringUtil.DeleteUnVisibleChar(message);
message=message.Replace("'","\"");
string js=@"<Script language='JavaScript'>
alert('"+ message +"');</Script>";
HttpContext.Current.Response.Write(js);
}
public static void Alert(object message)
{
string js=@"<Script language='JavaScript'>
alert('{0}');
</Script>";
HttpContext.Current.Response.Write(string.Format(js,message.ToString()));
}
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 RefreshOpenerAndClose()
{
string js=@"<Script language='JavaScript'>
opener.location.reload();
window.close();
</Script>";
HttpContext.Current.Response.Write(js);
HttpContext.Current.Response.End();
}
/// <summary>
/// 重载打开视窗并关闭当前视窗
/// </summary>
public static void LoadOpenerAndClose()
{
string js=@"<Script language='JavaScript'>
window.opener.location.href = window.opener.location.href;
window.close(); </Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 打开视窗
/// </summary>
/// <param name="url"></param>
public static void OpenWebForm(string url)
{
string js=@"<Script language='JavaScript'>
//window.open('"+url+@"');
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);
}
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);
}
public static void OpenScript(string url,int width,int height)
{
string js=@"<Script language='JavaScript'>
window.open('"+url+@"','null','width=" + width + @",height=" + height + @",resizable=0,scrollbars=no,menubar=no,status=no')
</Script>";
HttpContext.Current.Response.Write(js);
}
public static void OpenPrintPage(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=yes,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=yes,resizable=yes,scrollbars=yes,status=yes,titlebar=no,toolbar=no,directories=no');";
}
js+="</Script>";
HttpContext.Current.Response.Write(js);
}
public static void OpenWebForm(string url,string formName)
{
string js=@"<Script language='JavaScript'>
//window.open('"+url+@"','"+formName+@"');
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> 函数名:OpenWebForm ///
/// 功能描述:打开WEB视窗 ///
/// </summary>
/// <param name="url">WEB视窗</param>
/// <param name="name">WEB视窗名</param>
/// <param name="isFullScreen">是否全萤幕</param>
public static void OpenWebForm(string url,string name,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-60;";
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+@"','"+name+@"',szFeatures);";
}
else
{
js+="window.open('"+url+@"','"+name+@"','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>
/// 函数名::JavaScriptSetCookie
/// 功能描述:用户端方法设置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>
/// 函数名:ReplaceParentWindow
/// 功能描述:替换父视窗
/// </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>
/// 函数名:ReplaceOpenerWindow
/// 功能描述:替换当前表单的打开视窗
/// </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>
/// 函数名:ReplaceOpenerParentWindow
/// 功能描述:替换当前表单的打开视窗的父视窗
/// </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>
/// 函数名:ReplaceOpenerParentWindow
/// 功能描述:替换当前表单的打开视窗的父视窗
/// </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>
/// 函数名:CloseParentWindow
/// 功能描述:关闭视窗
/// </summary>
public static void CloseParentWindow()
{
string js=@"<Script language='JavaScript'>
window.parent.close();
</Script>";
HttpContext.Current.Response.Write(js);
}
public static void CloseOpenerWindow()
{
string js=@"<Script language='JavaScript'>
window.opener.close();
</Script>";
HttpContext.Current.Response.Write(js);
}
/// <summary>
/// 函数名:ShowModalDialogJavascript
/// 功能描述:返回打开模式视窗的脚本
/// </summary>
/// <param name="webFormUrl"></param>
/// <returns></returns>
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-60;
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;
}
public static string ShowModalDialogJavascript(string webFormUrl,string features)
{
string js=@"<script language=javascript>
showModalDialog('"+webFormUrl+"','','"+features+"');</script>";
return js;
}
/// <summary>
/// 函数名:ShowModalDialogWindow
/// 功能描述:打开模式视窗
/// </summary>
/// <param name="webFormUrl"></param>
/// <returns></returns>
public static void ShowModalDialogWindow(string webFormUrl)
{
string js=ShowModalDialogJavascript(webFormUrl);
HttpContext.Current.Response.Write(js);
}
public static void ShowModalDialogWindow(string webFormUrl,string features)
{
string js=ShowModalDialogJavascript(webFormUrl,features);
HttpContext.Current.Response.Write(js);
}
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);
}
public static void ShowPrintWindow(string webFormUrl)
{
string features = "dialogWidth:500px"
+";dialogHeight:400px"
+";center:yes;help=no;resizable:no;status:no;scroll=no";
ShowModalDialogWindow(webFormUrl,features);
}
public static void SetHtmlElementValue(string formName,string elementName,string elementValue)
{
string js=@"<Script language='JavaScript'>if(opener.document."+formName+"." + elementName +"!=null){opener.document."+formName+"." + elementName +".value ="+ elementValue +";}</Script>";
HttpContext.Current.Response.Write(js);
}
}
}