registerstartupscript,registerstartupscript参数
asp.net ,RegisterStartupScript注册脚本以后怎么删除它注册在页面上的脚本
因为C#都是使用的表单提交事项,所以再次刷新会再次提交你可以使用if (!ispostback){你的代码}来试试
C#里ScriptManager.RegisterStartupScript这个方法怎么使用
这个方法不能用在updatepanel中方法名字就告诉你了RegisterStartupScript在页面加载的时候调用的js脚本给你个可用的例子吧private void msgDialog(Button but, String msg)
{
ScriptManager.RegisterClientScriptBlock(but,
typeof(Button), DateTime.Now.ToString().Replace(";", " "),
"alert('" + msg + "');", true);
}
需要用的时候自己调用吧
c#registerstartupscript 为什么不执行
RegisterStartupScript 方法所呈现的脚本块会在页面完成加载之时、但页面的客户端 onload 事件引发之前执行。 启动脚本块位于呈现的 ASP.NET 页面底部的 /form 标记之前。
page.ClientScript.RegisterStartupScrip();
检查一下生成的HTML中的js是什么样子
。。。。当然会有js了,page.ClientScript.RegisterStartupScript就是向页面里注册js脚本块啊,检查一下看看,我估计问题出在RegisterStartupScript上。。。。
顺便给你看看我写的JS提示好了........
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI;
namespace Zzjs.Base.BaseClasses
{
public static class ClientFunction
{
/// summary
/// 注册一个启动脚本块到指定页面上,JS实体无需使用script标签包裹
/// /summary
/// param name="iPage"页面实例/param
/// param name="jsKey"要注册JS脚本的Key/param
/// param name="jssrc"要注册JS脚本的实体/param
/// param name="iUpdatePanelID"UpdatePanel的ID(如果有)或null/param
public static void RegisterStartupScript(Control sender, string jsKey, string jssrc)
{
if (sender == null)
{
throw new ArgumentNullException(typeof(ClientFunction).ToString(), "错误,Sender控件为空引用");
}
bool HasUpdatePanel = false;
Control c = sender.Parent;
while (c != null)
{
if (c is UpdatePanel)
{
HasUpdatePanel = true;
break;
}
else
{
c = c.Parent;
}
}
if (!HasUpdatePanel)
{
sender.Page.ClientScript.RegisterStartupScript(sender.Page.GetType(), jsKey, jssrc, true);
}
else
{
ScriptManager.RegisterStartupScript(c as UpdatePanel, sender.GetType(), jsKey, jssrc, true);
}
}
#region Js Alert
/// summary
/// 在当前页面上使用js alert弹出信息
/// /summary
/// param name="Message"要弹出的信息/param
/// param name="iPage"当前页面的实例/param
/// param name="iUpdatePanelID"UpdatePanel的ID(如果有)或null/param
public static void OutputJSAlert(Control sender, string message)
{
OutputJSAlert(sender, message, false, null);
}
/// summary
/// 在当前页面上使用js alert弹出信息并重载当前页面
/// /summary
/// param name="Message"要弹出的信息/param
/// param name="iPage"当前页面的实例/param
/// param name="iUpdatePanelID"UpdatePanel的ID(如果有)或null/param
/// param name="IsReload"是否重载当前页面/param
public static void OutputJSAlert(Control sender, string message, bool isReload)
{
OutputJSAlert(sender, message, isReload, null);
}
/// summary
/// 在当前页面上使用js alert弹出信息并重载指定页面
/// /summary
/// param name="Message"要弹出的信息/param
/// param name="iPage"当前页面的实例/param
/// param name="iUpdatePanelID"UpdatePanel的ID(如果有)或null/param
/// param name="IsReload"是否重载当前页面/param
/// param name="ReloadURL"需要重载的地址(为null时使用当前页面的地址)/param
public static void OutputJSAlert(Control sender, string message, bool isReload, Uri reloadUrl)
{
if (sender == null)
{
throw new ArgumentNullException(typeof(ClientFunction).ToString(), "错误,Sender控件为空引用");
}
string jssrc = "alert('" + message + "');";
if (isReload)
{
if (reloadUrl == null || string.IsNullOrEmpty(reloadUrl.AbsoluteUri))
{
reloadUrl = sender.Page.Request.Url;
}
jssrc += ("window.location.assign('" + reloadUrl.AbsoluteUri + "');");
}
RegisterStartupScript(sender, "JSAlert", jssrc);
}
#endregion
/// summary
/// 不输出提示直接重载指定页面
/// /summary
/// param name="sender"sender/param
/// param name="reloadUrl"重载的Uri/param
public static void AssignPage(Control sender, string path)
{
RegisterStartupScript(sender, "AssignPage", "window.location.assign('" + path + "');");
}
}
}
ScriptManager.RegisterStartupScript在火狐中不起作用
您好,感谢您对火狐的支持
cs中运行某段js代码方式可以是:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "scriptwindow.open('default2.aspx')/script");
如果页面中使用了Ajax ,则上述代码即使执行也无效果。对这种情况我们通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
您可以在火狐官方网站下载火狐浏览器,在火狐社区了解更多内容。希望我的回答对您有所帮助,如有疑问,欢迎继续在本平台咨询。
Page.RegisterStartupScript方法,MSDN来个注意此方法已过时。 什么意思哦。。。
相当于再页面弹出一个对话框,Page.RegisterStartupScript应该是调用script方法在后台