none
到底怎么弹出对话框?如果用response.write("<script>alert();</script>")导致了页面样式的改变 RRS feed

  • 问题

  • 如果用response.write("<script>alert();</script>")导致了页面样式的改变,怎么解决才好呢?

     


    越来越觉得自己是只菜虫了,不是菜鸟。大家可以call me funtens! good luck!
    2010年7月9日 18:50

答案

  •  

    你好

    如果你想在PAGE LOAD 時彈對話框你可以直接在 ASPX PAGE 入面寫JAVASCRIPT

    <script type="text/javascript">
        alert("");
    </script>

    或者你可以試試用 ASP.NET 的VB CODE/ C SHARP CODE 來 CALL 你的JAVASCRIPT

    以下有一個例子

    VB.net
    Page.ClientScript.RegisterStartupScript(Me.GetType, "MyJS", "alert('Hello World');", true)

    C#
    Page.ClientScript.RegisterStartupScript(this.GetType, "MyJS", "alert('Hello 你好');", true);

    如果你想用 code-behind call你的 javascript function你可以試試這樣

     

    <script type="text/javascript">
      function ShowMsg(msg){

    alert(msg);

    }

    </script>

    VB.net
    Page.ClientScript.RegisterStartupScript(Me.GetType, "MyJS", "ShowMsg('Hello World');", true)

    C#
    Page.ClientScript.RegisterStartupScript(this.GetType, "MyJS", " ShowMsg ('Hello 你好');", true);

    希望可以幫到你


    Chi
    2010年7月9日 20:16

全部回复

  •  

    你好

    如果你想在PAGE LOAD 時彈對話框你可以直接在 ASPX PAGE 入面寫JAVASCRIPT

    <script type="text/javascript">
        alert("");
    </script>

    或者你可以試試用 ASP.NET 的VB CODE/ C SHARP CODE 來 CALL 你的JAVASCRIPT

    以下有一個例子

    VB.net
    Page.ClientScript.RegisterStartupScript(Me.GetType, "MyJS", "alert('Hello World');", true)

    C#
    Page.ClientScript.RegisterStartupScript(this.GetType, "MyJS", "alert('Hello 你好');", true);

    如果你想用 code-behind call你的 javascript function你可以試試這樣

     

    <script type="text/javascript">
      function ShowMsg(msg){

    alert(msg);

    }

    </script>

    VB.net
    Page.ClientScript.RegisterStartupScript(Me.GetType, "MyJS", "ShowMsg('Hello World');", true)

    C#
    Page.ClientScript.RegisterStartupScript(this.GetType, "MyJS", " ShowMsg ('Hello 你好');", true);

    希望可以幫到你


    Chi
    2010年7月9日 20:16
  • 这是因为你使用response.write输出JS代码的时候,这些输出先于你的文档样式,导致CSS失效,

    你可以使用   this.Page.RegisterClientScriptBlock("aa","<script>alert('1');</script>");

    或者ClientScript.RegisterClientScriptBlock()
               


    .net/asp.net开发群118343907
    2010年7月10日 0:53
  • 是的,谢谢你!
    越来越觉得自己是只菜虫了,不是菜鸟。大家可以call me funtens! good luck!
    2010年7月10日 17:19
  • 关于这个RegisterClientScriptBlock是可以解决在客户端注册脚本的目的。但是这个方法也存在一个问题,不信你可以试试。就是当这个方法在最后的语句执行时没什么问题,但如果在中间执行,就不是立马执行了。也就是说,这个方法不是同步执行的!还有,如果你在这个方法之后执行关于提交的操作。那么这个方法就会失效!其实这个都能理解,是执行顺序和方式的问题。声明:我提到的这些不是RegisterClientScriptBlock的BUG!
    2010年7月11日 3:44