C#中如何调用带参数的javascript函数?C#代码:
string s = "abcdefg";
Page.RegisterStartupScript("key2", "<script>func1(" + s + ");</script>");
javascript代码:
function func1(s)
{
var str = s;
window.clipboardData.setData("Text",str);
alert("内容已存入剪贴板");
}代码运行总是错,应该怎么调用呢?

解决方案 »

  1.   

    Page.RegisterStartupScript("key2", "<script>func1(" + s + ");</script>");
    -->
    Response.Write("<script>func1("+ s +")</script>");
      

  2.   

    楼主写的少加了一个符号:
    应该这样:
    string s = "abcdefg";
    Page.RegisterStartupScript("key2", "<script>func1('" + s + "');</script>");
      

  3.   

    Page.RegisterStartupScript("key2", "<script>func1(" + s + ");</script>");=======>
    Page.RegisterStartupScript("key2", "<script>func1('" + s + "');</script>");
      

  4.   

    代码已经是全部代码了,C#部分的代码是在一个Button的事件中调用的
      

  5.   

    把解析执行后的html代码贴出来看看
      

  6.   

    解析执行后的html代码如下:<script>func1('a b c d
    a b c d')</script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>Javascript</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form name="Javascript" method="post" action="Javascript.aspx" id="Javascript">
    <input type="hidden" name="__VIEWSTATE" value="dDwtNTMwNzcxMzI0Ozs+V7SBjiiyXdV2ISfhCjQFltrxSO0=" /> <FONT face="宋体">
    <input type="submit" name="Button1" value="Button" id="Button1" style="height:35px;width:144px;Z-INDEX: 101; LEFT: 284px; POSITION: absolute; TOP: 103px" /></FONT>
    </form>
    </body>
    </HTML>
      

  7.   

    刚才贴少了,再贴一次:
    <script>func1('a b c d
    a\tb c d')</script>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
    <HTML>
    <HEAD>
    <title>Javascript</title>
    <meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
    <meta name="CODE_LANGUAGE" Content="C#">
    <meta name="vs_defaultClientScript" content="JavaScript">
    <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">

    <script lang="javascript">
    function func1(str)
    {
    var s1 = str;
    window.clipboardData.setData("Text",s1);
    alert("内容已存入剪贴板");
    }
    </script>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form name="Javascript" method="post" action="Javascript.aspx" id="Javascript">
    <input type="hidden" name="__VIEWSTATE" value="dDwtNTMwNzcxMzI0Ozs+V7SBjiiyXdV2ISfhCjQFltrxSO0=" /> <FONT face="宋体">
    <input type="submit" name="Button1" value="Button" id="Button1" style="height:35px;width:144px;Z-INDEX: 101; LEFT: 284px; POSITION: absolute; TOP: 103px" /></FONT>
    </form>
    </body>
    </HTML>
      

  8.   


    public void func(string s)
    {
      if(!Page.IsRegisterStartupScript("key"))
      {
        string script = "<script>" + "\n";
        script += string.Format(function func1({0}), s) + "{\n";
        script +=  string.Format("window.clipboardData.setData('Text',{0})", s) + "\n";
        script += "alert('内容已存入剪贴板')";
        script += "}" + "\n";
        script += "<script>";
        Page.RegisterStartupScript("key", script);
      }
    }
      

  9.   

    to 楼主:你的这个Page.RegisterStartupScript("key2", "<script>func1(" + s + ");</script>");
    代码应该放在pageload事件里面写的。