目前我想到的办法是利用HiddenField,用一个HiddenField来存储参数的值再在前台调用JavaScript时用document.getElementById来获取值传给前台的javaScript函数作为参数(据小弟所知:后台不能直接传递参数给前台的JavaScript函数作为参数)
代码如下:
    function GetItemValue()
    {
        document.getElementById("hiddenValue").value = document.getElementById($("hiddenParam").value).value;
    }
    function $(str)
    {
        return(document.getElementById(str));
    }    <asp:HiddenField ID="hiddenValue" runat ="server" />
    <asp:HiddenField ID="hiddenParam" runat ="server" />这样我在后台就可以通过取得传递hiddenParam.value作为控件ID而确定要获得什么控件的值 并由hiddenValue.value传回注意:我之所以研究这个是因为在某些情况下不得已必须使用HTML控件 而HTML控件和WEB控件相比HTML控件没有runat="server"属性,所以不能直接在后台通过FindControl取得ID. 小弟初学,请教各位了
可以不用HiddenField来实现后台传参数给前台的JavaScript函数吗?

解决方案 »

  1.   

    html控件可以加runat="server"的,并且可以从后台给前台的js传参,如Page.ClientScript.RegisterStartupScript() 方法
      

  2.   

    如Page.ClientScript.RegisterStartupScript(GetType(), "", "methodName('"+argument+"')")
      

  3.   

    方法有很多啊,一楼说的可以,其实完全可以以字符串的方式写到前台。如果需要动态变化的参数就ajax吧
      

  4.   

    ClientScript.RegisterStartupScript(this.GetType(),"key","<script language='javascript' defer='defer' >A('"+s+"')</script>");
      

  5.   

    可以通过异步通信来实现。在服务器端是Response.Write()返回,在客户端采用xmlHttp.responseText()接收
      

  6.   

    这个我试过了 如果用4楼的办法直接传string型的s作为参数 前台的JavaScript函数是不能接受参数的值的,原因我还在研究中.