我在前台有一个函数,定义如下:
<script language="javascript" type="text/javascript">
   
    function GetObjVal(objid) {
        var cur_obj = document.getElementById(objid);
        return cur_obj.value;
    }
</script>想在后台利用C#向前台传递控件id,让前台找到该控件,将控件的值传递到后台,不知道是否能实现,如何实现,请各位高手指点,多谢!

解决方案 »

  1.   

    1.得到控件的客户端ID..控件有个ClientID属性
    var Id=你的控件.ClientID
    2.你抛出一个函数和前台交互,比你定义的GetObjVal,传入上面那个Id
     Page.ClientScript.RegisterStartupScript(this.GetType(), "", String.Format("fn()",Id), true); 
      

  2.   

    打错,换成:
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", String.Format("GetObjVal('{0}')",Id), true); 
      

  3.   

    多谢lsw645645645的指点。
    控件的id是已知的,我是想通过前台函数获取控件的value,然后让前台函数把控件的值传递到后台。
      

  4.   

    多谢lsw645645645的指点。
    我的前台函数如下所示:
    <script language="javascript" type="text/javascript">
        function GetObjVal(objid) {
            alert(objid);
            return "20";
        }
    </script>触发前台的后台函数如下:
     protected void print_Click(object sender, EventArgs e)
     {
       String Id = "ContentPlaceHolder2_T1_PLATE_ID1_0";
      Page.ClientScript.RegisterStartupScript(this.GetType(), "", String.Format("GetObjVal('{0}')", Id), true);
    }
    不知道哪个地方有问题,1、好像不会触发前台函数,因为没有触发alert事件。
                          2、我不知道如果能触发前台函数GetObjVal,不知道前台函数传递的值,后台是如何获取的。
    多谢指点!
      

  5.   

    1.
    你看看生成的html源代码,body标签的最后面有没有生成 调用 GetObjVal 函数的js.
    2.
    第二个问题,你取到值后,你可以通过一般的post提交或是get提交到后台。 
    如果不想刷新页面的话,你可以用ajax..另外说一点,你可以研究一下,asp.net 是如何保存数据状态和提交数据,然后后台是如何取到的。