aspx C# 
<input id="HiddenField1" type="hidden" value="" /> 
<script>
var str1="<%=menu.menu1(0) %>";//这是数据库里的读出的内容str1="document.writeln(\""+str1.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/\'/g,"\\\'").replace(/\"/g,"\\\"").split('\r\n').join("\");\ndocument.writeln(\"")+"\");"      //  生成jsalert(str1);//查看,生成是成功了location.href='leftSave.aspx?HiddenField1='+str1; //把值给这个 leftSave.aspx 页面 生成js文件  但是这里提示"无效语法"
</script>请问这个变量怎么才能传送过去>

解决方案 »

  1.   

    变量 str1  内容是htm 代码
      

  2.   

    window.location='leftSave.aspx?HiddenField1='+str1;
    注意str1 将HTMLCode屏蔽掉  要不然传过去不准确的
      

  3.   

    在后台用scriptmanager写会不会好些呢
      

  4.   

    写在后台代码页stirng str1=menu.menu1(0);//这是数据库里的读出的内容 str1="document.writeln(\""+str1.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/\'/g,"\\\'").replace(/\"/g,"\\\"").split('\r\n').join("\");\ndocument.writeln(\"")+"\");"      //  生成js Response.Redirect(Server.UrlEncode("leftSave.aspx?HiddenField1="+str1)); //把值给这个 leftSave.aspx 页面 生成js文件  
      

  5.   

    str1="document.writeln(\""+str1.replace(/\\/g,"\\\\").replace(/\//g,"\\/").replace(/\'/g,"\\\'").replace(/\"/g,"\\\"").split('\r\n').join("\");\ndocument.writeln(\"")+"\");"      上面这句我不会写 才会想到用传值这个方法来实现的
      

  6.   

    //javascript文
    string csText = "alert('Hello')";
    //ClientScriptManager 类用于管理客户端脚本并将它们添加到 Web 应用程序中
    ClientScriptManager cs = this.ClientScript;
    Type cstype = this.GetType();
    if (!cs.IsStartupScriptRegistered(cstype, ""))
    {         
       /* type 要注册的启动脚本的类型
        * key 要注册的启动脚本的键
        * script 要注册的启动脚本文本
        * addScriptTags 指示是否添加脚本标记的布尔值
        */
       cs.RegisterStartupScript(cstype, "", csText, true);
    }