zoukankan      html  css  js  c++  java
  • aspx 页面提交造成页面样式混乱

    在项目中提交数据后,会提示操作结果等信息比较习惯JavaScript打印提示语句

    Response.Write("<script>alert('操作成功')</script>");

    有时候会造成页面样式混乱。

    此时需要向页面注册JavaScript 脚本

    if (!this.IsClientScriptBlockRegistered("clientScript"))
            {
              // Form the script that is to be registered at client side.
              String scriptString = "<script language=JavaScript> function DoClick() {";
              scriptString += "myForm.show.value='Welcome to Microsoft .NET'}<";
              scriptString += "/";
              scriptString += "script>";
              this.RegisterClientScriptBlock("clientScript", scriptString);
            }
    
    /例子 RegisterClientScriptBlock(
    "01", "<script>alert('操作成功')</script>"); //public virtual void RegisterClientScriptBlock ( // string key, // string script //)

    Asp.net中RegisterStartupScript方法的使用,在.net framework中与此相似的还有方法:RegisterClientScriptBlock. 这两个方法的作用都是从前台向后台写脚本, 这两个方法唯一的不同之处在于从“何处”发送脚本块。RegisterClientScriptBlock() 在 Web 窗体的开始处(紧接着 <form runat="server"> 标识之后)发送脚本块,而RegisterStartupScript() 在 Web 窗体的结尾处(在 </form> 标识之前)发送脚本块。

          RegisterStartupScript() 用于添加要在加载页面后运行的脚本块,通过这种方法添加的脚本块位于 Web 窗体的结尾处,因为必须在脚本运行前定义脚本要修改的 HTML 元素。也就是说,如果您要使用客户端脚本将焦点设置到文本框,必须确保文本框的 HTML 标记位于设置该文本框的焦点的脚本之前。

          RegisterClientScriptBlock() 方法用于为响应客户端事件而执行的脚本代码。通过此方法发送的脚本块位于 Web 页面的开始处,因为这种方法不要求将脚本块置于所有 HTML 元素之后,即它一般不使用文档内自定义的控件。

       如果你仅仅是注册一些函数,这两者的效果是一样的。但如果你要注册一些全局的脚本,如定义一些全局变量并赋值,那么它在HTML中的先后位置可能就比较重要,此时就应该用RegisterStartupScript保证脚本能在前面被执行。

  • 相关阅读:
    常见寻找OEP脱壳的方法
    Windows内核原理系列01
    HDU 1025 Constructing Roads In JGShining's Kingdom
    HDU 1024 Max Sum Plus Plus
    HDU 1003 Max Sum
    HDU 1019 Least Common Multiple
    HDU 1018 Big Number
    HDU 1014 Uniform Generator
    HDU 1012 u Calculate e
    HDU 1005 Number Sequence
  • 原文地址:https://www.cnblogs.com/PLifeCopyDown/p/2807636.html
Copyright © 2011-2022 走看看