Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 页面加载问题_C#_Asp.net - Fatal编程技术网

C# 页面加载问题

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

我有一个javascript模式,我想用于错误报告。只有在页面加载之前执行代码,所有工作都正常。因此,结果是在head标记之前有了javascript,这意味着没有执行任何操作

有什么帮助吗

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上!