原文地址:http:
//
www.cnblogs.com/carekee/articles/1740124.html
因为用的是Ajax的 ScriptManager + UpdatePanel控件
所以调用Response.Write(),Page.RegisterStartScript()等方法,就不行了
需要调用Ajax本身的ScriptManager.RegisterStartupScript()方法;
具体格式为:
System.Web.UI.ScriptManager.RegisterStartupScript(Control control, Type type, string key, string script, bool addScriptTags)
调用方式为:
System.Web.UI.ScriptManager.RegisterStartupScript( this, this.GetType(), " KEY ", " alert('ss') ", true);
现在项目中用到的列出几个,以后可能用到的:
AjaxFunc.cs
/// <summary>
/// MSG 的摘要说明
/// </summary>
public static class AjaxFunc
{
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strMsg"></param>
public static void MessageBox(Page ps, string strName, string strMsg)
{
ScriptManager.RegisterClientScriptBlock(ps, ps.GetType(), strName, " alert(' " + strMsg + " ') ", true);
}
/// <summary>
/// 加载网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenUrl(Page ps, string strName, string strUrl)
{
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.location.href=' " + strUrl + " '; ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl(Page ps, string strName, string strUrl)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight:650px, dialogWidth:300px, toolbar=no, menubar=no, resizable=no, location=no, status=no'); ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl(Page ps, string strName, string strUrl, int width, int height)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight: " + height.ToString() + " px; dialogWidth: " + width.ToString() + " px; toolbar:no; resizable:no; location:no; status:no;help:no;scroll:no;'); ", true);
}
/// <summary>
/// 弹出网页+状态栏
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl_EX(Page ps, string strName, string strUrl, int width, int height)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight: " + height.ToString() + " px; dialogWidth: " + width.ToString() + " px; toolbar:no; resizable:no; location:no; status:yes;help:no;scroll:no;'); ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl_DW(Page ps, string strName, string strUrl)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight:700px, dialogWidth:300px, toolbar=no, menubar=no, resizable=no, location=no, status=no'); ", true);
}
/// <summary>
/// 关闭模式网页
/// </summary>
/// <param name="ps"></param>
public static void CloseModalUrl(Page ps)
{
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), "", " window.close(); ", true);
}
/// <summary>
/// 使用AJAX操作Response.Write
/// </summary>
/// <param name="control"></param>
/// <param name="type"></param>
/// <param name="key"></param>
/// <param name="script"></param>
/// <param name="addScriptTags"></param>
public static void ResponseWrite(Control control, Type type, string script, bool addScriptTags)
{
System.Web.UI.ScriptManager.RegisterStartupScript(control, type, " NULL ", script, addScriptTags);
}
方法的调用:
AjaxFunc.ResponseWrite( this, this.GetType(), " alert('请登录后再使用该系统!');parent.document.location.href('../default.aspx'); ", true);
JS解释:
alert( ' 请登录后再使用该系统! ');弹出消息框
parent.document.location.href( ' ../default.aspx ');打开指定页
AjaxFunc.MessageBox( this, " Error ", " 输入旧密码不能为空! ");
JS解释:弹出消息框
AjaxFunc.OpenModelUrl_EX( this.Page, "", " ShowCurveLine.aspx ", 840, 550);
JS解释:打开模式页面
AjaxFunc.OpenModelUrl_EX( this.Page, "", " ShowCurveLine.aspx ", 840, 550);
JS解释:打开非模式页面
因为用的是Ajax的 ScriptManager + UpdatePanel控件
所以调用Response.Write(),Page.RegisterStartScript()等方法,就不行了
需要调用Ajax本身的ScriptManager.RegisterStartupScript()方法;
具体格式为:
System.Web.UI.ScriptManager.RegisterStartupScript(Control control, Type type, string key, string script, bool addScriptTags)
调用方式为:
System.Web.UI.ScriptManager.RegisterStartupScript( this, this.GetType(), " KEY ", " alert('ss') ", true);
现在项目中用到的列出几个,以后可能用到的:
AjaxFunc.cs
/// <summary>
/// MSG 的摘要说明
/// </summary>
public static class AjaxFunc
{
/// <summary>
/// 弹出对话框
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strMsg"></param>
public static void MessageBox(Page ps, string strName, string strMsg)
{
ScriptManager.RegisterClientScriptBlock(ps, ps.GetType(), strName, " alert(' " + strMsg + " ') ", true);
}
/// <summary>
/// 加载网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenUrl(Page ps, string strName, string strUrl)
{
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.location.href=' " + strUrl + " '; ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl(Page ps, string strName, string strUrl)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight:650px, dialogWidth:300px, toolbar=no, menubar=no, resizable=no, location=no, status=no'); ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl(Page ps, string strName, string strUrl, int width, int height)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight: " + height.ToString() + " px; dialogWidth: " + width.ToString() + " px; toolbar:no; resizable:no; location:no; status:no;help:no;scroll:no;'); ", true);
}
/// <summary>
/// 弹出网页+状态栏
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl_EX(Page ps, string strName, string strUrl, int width, int height)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight: " + height.ToString() + " px; dialogWidth: " + width.ToString() + " px; toolbar:no; resizable:no; location:no; status:yes;help:no;scroll:no;'); ", true);
}
/// <summary>
/// 弹出网页
/// </summary>
/// <param name="ps"></param>
/// <param name="strName"></param>
/// <param name="strUrl"></param>
public static void OpenModelUrl_DW(Page ps, string strName, string strUrl)
{
// System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, "window.showModalDialog ('" + strUrl + "', 'newwindow', 'height=100, width=400, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no');", true);
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), strName, " window.showModalDialog (' " + strUrl + " ', 'newwindow', 'dialogHeight:700px, dialogWidth:300px, toolbar=no, menubar=no, resizable=no, location=no, status=no'); ", true);
}
/// <summary>
/// 关闭模式网页
/// </summary>
/// <param name="ps"></param>
public static void CloseModalUrl(Page ps)
{
System.Web.UI.ScriptManager.RegisterStartupScript(ps, ps.GetType(), "", " window.close(); ", true);
}
/// <summary>
/// 使用AJAX操作Response.Write
/// </summary>
/// <param name="control"></param>
/// <param name="type"></param>
/// <param name="key"></param>
/// <param name="script"></param>
/// <param name="addScriptTags"></param>
public static void ResponseWrite(Control control, Type type, string script, bool addScriptTags)
{
System.Web.UI.ScriptManager.RegisterStartupScript(control, type, " NULL ", script, addScriptTags);
}
方法的调用:
AjaxFunc.ResponseWrite( this, this.GetType(), " alert('请登录后再使用该系统!');parent.document.location.href('../default.aspx'); ", true);
JS解释:
alert( ' 请登录后再使用该系统! ');弹出消息框
parent.document.location.href( ' ../default.aspx ');打开指定页
AjaxFunc.MessageBox( this, " Error ", " 输入旧密码不能为空! ");
JS解释:弹出消息框
AjaxFunc.OpenModelUrl_EX( this.Page, "", " ShowCurveLine.aspx ", 840, 550);
JS解释:打开模式页面
AjaxFunc.OpenModelUrl_EX( this.Page, "", " ShowCurveLine.aspx ", 840, 550);
JS解释:打开非模式页面