前台: 
<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>无标题页 </title> 
    <script language="javascript" type = "text/javascript"> 
        function test(id,type) 
            { 
                var m = "dd"; 
                var hd = getObj("Hidden1","fore"); 
                hd.value = m;             } 
        function getObj(id,type) 
        { 
            if(type == "fore") 
            return document.all(id); 
        else if(type == "behind") 
            return document.getElementById(id); 
        } 
    </script> 
</head> 
<body onload="test();"> 
    <form id="form1" runat="server"> 
    <div> 
        <input id="Hidden1" type="hidden" name = "hd1" /> 
    </div> 
    </form> 
</body> 
</html> ------------- 
后台: 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        string m = Request.Form["hd1"]; 
    } --------------- m没有得到值,有解决办法吗?在C#版块也有过这个问题,没有得到 想要的答案,希望在这个板块能找到答案

解决方案 »

  1.   

    另外有人说可以用ScriptManager控件实现,我没有用过ScriptManager控件,不过我的工具箱中到是有这个控件,希望知道的能给点具体代码
      

  2.   

    呵呵。简单啊,我什么也不会,这个刚好会。
    你的前台input里要加属性runat="server"属性
     string m = this.Hidden1 这一句得到的是id并不是name 
    就可以了
      

  3.   

    将隐藏域改成服务器端控件,如:
     <input id="Hidden1" type="hidden" runat="server" name = "hd1" /> 在后台这样获取它的值:string m = this.Hidden1.value;试试
      

  4.   

    这个是取不到的,
    因为好象先执行Page_Load,在执行js,
    你放在Button的click事件下就能取到!!
      

  5.   

    用一个hiddenfield服务器控件,假设控件名称是hiddenfield1
    客户端:
    var hd = document.getElementById('hiddenfield1.ClientID');
    hd.value = 'dd';
    服务端:
    通过this.hiddenfield1.value取值
      

  6.   

    var hd = document.getElementById('<%=hiddenfield1.ClientID%>'); 
      

  7.   

    把变量的值 写入hidden的value里
    后台去取hidden的值
    就可以了
      

  8.   

    我说你小子晕菜了
    test方法谁调用了????
    没有当然是空了
      

  9.   

    是我晕菜了,我不负责任
    <body onload="test();"> 这里写了
      

  10.   

    onload事件上的text();里面都没有传值 不是有两个参数么
      

  11.   

    回复wanghua_hot:
    是有两个参数,是我写错了,因为copy过去的,所以没看到,不好意思,不过那没有关系,去掉那两个参数后也试了,还是不行
    回复koukoujiayi :
    看来这位同仁看懂了我的需求,哈哈
    谢谢帮忙提醒了大家我的问题的需求。
    到目前为止还没有人给出正确答案啊,自己先顶下!!
      

  12.   

    我希望有人能给个ScriptManager控件使用的案例,感觉这个控件可能能解决我的问题!
      

  13.   


      是先执行Page_load 然后才执行Onload
     页面没有参数传近来  肯定没有值
      

  14.   


    你写什么了?再把两个test看上10遍,如果看不明白,那么没救了。
      

  15.   


    本来我上面想夸你,因为你是唯一一个看得懂javascript的人。可是,没有办法夸呀,怎么你自己晕菜了呢?!
      

  16.   


    我也对楼主感到晕菜了,竟然写假的id参数唬人,后边根本没有用到逻辑中!害人害己!!!!!
    你只要随便拖入一个回发的控件,例如Button,就可以看到m变量中有值。
      

  17.   

    这个我知道,但是你没看明白啊,我问的是在前台<body onload="test();"> 
    中赋值,然后在后台 Page_Load(object sender, EventArgs e) 中获取前台赋过的值
    问题的关键是asp.net的机制是先施行后台的Page_Load(object sender, EventArgs e)再施行前台<body onload="test();"> 
    看来只有13楼看懂我问的问题了,哎
    怎么没有高手呢
      

  18.   

    Request.Form["hd1"];
    很难理解没有提交想取这个request值是种什么方法。
    至少要form.submit吧?