C# 页面加载问题
我有一个javascript模式,我想用于错误报告。只有在页面加载之前执行代码,所有工作都正常。因此,结果是在head标记之前有了javascript,这意味着没有执行任何操作 有什么帮助吗C# 页面加载问题,c#,asp.net,C#,Asp.net,我有一个javascript模式,我想用于错误报告。只有在页面加载之前执行代码,所有工作都正常。因此,结果是在head标记之前有了javascript,这意味着没有执行任何操作 有什么帮助吗 public void showError(string error) { string script = "<script type=\"text/javascript\">$.facebox.settings.opacity = 0.4;jQuery.facebox(\""+erro
public void showError(string error)
{
string script = "<script type=\"text/javascript\">$.facebox.settings.opacity = 0.4;jQuery.facebox(\""+error+"\");</script>";
System.Web.HttpContext.Current.Response.Write(script);
}
假设您只是希望稍后调用Page_Load中的代码,请尝试使用Page_PreRender方法。
您可以在此处找到事件列表及其调用顺序假设您只是希望稍后调用Page_Load中的代码,请尝试使用Page_PreRender方法。
您可以在此处找到事件列表及其调用顺序。基本问题是,您需要让Javascript等待DOM就绪后再执行 解决此问题的最简单方法是使用该方法执行代码,而不是直接将其添加到页面:
public void Page_Load(Object sender, EventArgs e)
{
Type myType = this.GetType();
string script = "<script>alert('Hello World! I am ready.');</script>";
Page.ClientScript.RegisterStartupScript(myType, "StartupScript", script);
}
public void页面加载(对象发送方,事件参数e)
{
类型myType=this.GetType();
string script=“警报('你好,世界!我准备好了');”;
Page.ClientScript.RegisterStartupScript(myType,“StartupScript”,脚本);
}
更新
我的示例基于这样一个事实,即您最初的问题是专门关于页面加载的。代码只需稍作修改,以适合您的示例:
public void ShowError(string error)
{
StringBuilder sb = new StringBuilder();
s.Append("<script type='text/javascript'>");
s.Append("$.facebox.settings.opacity = 0.4;");
s.AppendFormat("$.facebox('{0}');", error);
s.Append("</script>");
Type t = this.GetType();
Page.ClientScript.RegisterStartupScript(t, "ErrorScript", sb.ToString());
}
公共无效错误(字符串错误)
{
StringBuilder sb=新的StringBuilder();
s、 附加(“”);
s、 追加($.facebox.settings.opacity=0.4;);
s、 AppendFormat($.facebox({0}');”,错误);
s、 附加(“”);
Type t=this.GetType();
Page.ClientScript.RegisterStartupScript(t,“ErrorScript”,sb.ToString());
}
基本问题是,您需要让Javascript等待DOM就绪后再执行
解决此问题的最简单方法是使用该方法执行代码,而不是直接将其添加到页面:
public void Page_Load(Object sender, EventArgs e)
{
Type myType = this.GetType();
string script = "<script>alert('Hello World! I am ready.');</script>";
Page.ClientScript.RegisterStartupScript(myType, "StartupScript", script);
}
public void页面加载(对象发送方,事件参数e)
{
类型myType=this.GetType();
string script=“警报('你好,世界!我准备好了');”;
Page.ClientScript.RegisterStartupScript(myType,“StartupScript”,脚本);
}
更新
我的示例基于这样一个事实,即您最初的问题是专门关于页面加载的。代码只需稍作修改,以适合您的示例:
public void ShowError(string error)
{
StringBuilder sb = new StringBuilder();
s.Append("<script type='text/javascript'>");
s.Append("$.facebox.settings.opacity = 0.4;");
s.AppendFormat("$.facebox('{0}');", error);
s.Append("</script>");
Type t = this.GetType();
Page.ClientScript.RegisterStartupScript(t, "ErrorScript", sb.ToString());
}
公共无效错误(字符串错误)
{
StringBuilder sb=新的StringBuilder();
s、 附加(“”);
s、 追加($.facebox.settings.opacity=0.4;);
s、 AppendFormat($.facebox({0}');”,错误);
s、 附加(“”);
Type t=this.GetType();
Page.ClientScript.RegisterStartupScript(t,“ErrorScript”,sb.ToString());
}
我就是这样做到的:
public void ShowError(Page CurrentPage,string error)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script type='text/javascript'>");
sb.Append("$.facebox.settings.opacity = 0.4;");
sb.AppendFormat("jQuery.facebox('{0}');", error);
sb.Append("</script>");
Type t = this.GetType();
CurrentPage.ClientScript.RegisterStartupScript(t, "ErrorScript", sb.ToString());
}
公共无效错误(当前页面,字符串错误)
{
StringBuilder sb=新的StringBuilder();
某人加上(“”);
sb.追加($.facebox.settings.opacity=0.4;);
AppendFormat(“jQuery.facebox({0}”);”,错误);
某人加上(“”);
Type t=this.GetType();
CurrentPage.ClientScript.RegisterStartupScript(t,“ErrorScript”,sb.ToString());
}
当我调用它(这个“错误字符串”)
谢谢大家 我就是这样做到的:
public void ShowError(Page CurrentPage,string error)
{
StringBuilder sb = new StringBuilder();
sb.Append("<script type='text/javascript'>");
sb.Append("$.facebox.settings.opacity = 0.4;");
sb.AppendFormat("jQuery.facebox('{0}');", error);
sb.Append("</script>");
Type t = this.GetType();
CurrentPage.ClientScript.RegisterStartupScript(t, "ErrorScript", sb.ToString());
}
公共无效错误(当前页面,字符串错误)
{
StringBuilder sb=新的StringBuilder();
某人加上(“”);
sb.追加($.facebox.settings.opacity=0.4;);
AppendFormat(“jQuery.facebox({0}”);”,错误);
某人加上(“”);
Type t=this.GetType();
CurrentPage.ClientScript.RegisterStartupScript(t,“ErrorScript”,sb.ToString());
}
当我调用它(这个“错误字符串”)
谢谢大家 一点代码会有帮助一点代码会有帮助好的,让我解释一下。我有一个类在我的页面上显示错误。我所做的就是传递字符串,它显示错误。这个代码还能用吗?如何从类中访问this.GetType?@Kenyana-使用代码示例修改您的原始帖子。到目前为止,我不明白您在做什么。请看我的示例代码。有时,我不一定要在页面加载时执行它,但当调用某个函数时,我得到的结果是:System.FormatException:索引(基于零)必须大于或等于零,并且小于参数列表的大小。它显示了一个错误:s.AppendFormat($.facebox({0}');”;我还试图找到您的位置:jQuery.facebox(\“”+error+“\”);在你的stringbuilder上!好的,让我解释一下。我有一个类在我的页面上显示错误。我所做的就是传递字符串,它显示错误。这个代码还能用吗?如何从类中访问this.GetType?@Kenyana-使用代码示例修改您的原始帖子。到目前为止,我不明白您在做什么。请看我的示例代码。有时,我不一定要在页面加载时执行它,但当调用某个函数时,我得到的结果是:System.FormatException:索引(基于零)必须大于或等于零,并且小于参数列表的大小。它显示了一个错误:s.AppendFormat($.facebox({0}');”;我还试图找到您的位置:jQuery.facebox(\“”+error+“\”);在你的stringbuilder上!