家好,我在ASP.NET中,想利用js脚本,弹出一个对话框
 string js = @"<script language=javascript>alert(" + str + ");</script>";
这句话写在ASP。net页面里面,提示错误
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。  编译器错误消息: CS1010: 常量中有换行符源错误:
行 61: hid.Value = str;
行 62:  
行 63: string js = @"<script language=javascript>alert(" + str + ");</script>";
行 64:   
行 65: if (str == "申请成功")我查了下原因,是</script>的问题,我写成"</"+cript>"后,可以解决这个问题,但我利用
ClientScript.RegisterStartupScript(this.GetType(), "my", js, true);调用,却没有任何对话框提示,请问这是为什么啊

解决方案 »

  1.   


    string js = @"<script language=text/javascript>alert(" + str + ");</script>";
    Response.Write(js);
      

  2.   

    string js = @"<script language=text/javascript>alert(‘" + str + "’);</script>";
    Response.Write(js);alert(‘" + str + "’)  加上2个单引号
      

  3.   

    string js = @"<script language=text/javascript>alert(" + str + ");</script>";
    Response.Write(js);
      

  4.   

    再怎么加也没用,最后一个</script>标记总是提示有换行符
      

  5.   

    StringBuilder js=new StringBuilder();
     js.Append("<script language=text/javascript>");
    js.Append("alert(" + str + ");");
    js.Append("</script>")
    Response.Write(js.tostring());
      

  6.   

    还是不行,</script>有问题,但只要写成"</s"+cript>"就可以通过,但运行时候,根本不弹出,不知道大家有没有遇到过类似的问题,我的版本是VS2010的
      

  7.   

    修正一下,写成"</s"+"cript>"就可以通过
      

  8.   

    http://topic.csdn.net/u/20070828/10/cae83c79-f6cf-4749-a826-8ac03cccbd72.html
      

  9.   

    str 裏面的內容有些字符不能輸出你先Response.write(str)看看裏面有什麽東西。
    然後把那些替換成&nbsp;之類的字符實體
    然後輸入