Javascript 将信息从JS传递到ASP服务器端

Javascript 将信息从JS传递到ASP服务器端,javascript,asp.net,ajax,postback,Javascript,Asp.net,Ajax,Postback,我一直试图以某种方式让我的javascript函数(我在aspx页面的head部分中有)在一个隐藏项中设置一个值,然后让服务器端(trusty'ol ASP)如何读取该数据,以便根据它是什么来做一些工作。我把我的整个页面包装在一个更新面板中,我的拖放问题基本上得到了解决。理想的情况是,一旦一个对象在drop区域中被删除,javascript代码块(我在JS中吸吮)将为一个隐藏字段分配一个值,然后让更新面板执行异步回发并刷新自身(这将从基于隐藏值运行的函数中提取数据)。这是我当前(损坏的)java

我一直试图以某种方式让我的javascript函数(我在aspx页面的head部分中有)在一个隐藏项中设置一个值,然后让服务器端(trusty'ol ASP)如何读取该数据,以便根据它是什么来做一些工作。我把我的整个页面包装在一个更新面板中,我的拖放问题基本上得到了解决。理想的情况是,一旦一个对象在drop区域中被删除,javascript代码块(我在JS中吸吮)将为一个隐藏字段分配一个值,然后让更新面板执行异步回发并刷新自身(这将从基于隐藏值运行的函数中提取数据)。这是我当前(损坏的)javascript部分的内容:

<script type="text/javascript">  
  $(document).ready(function() {  
doReady();  

var prm = Sys.WebForms.PageRequestManager.getInstance();  
prm.add_endRequest(function(s, e) {  
    doReady();  
});  
}); 

$(文档).ready(函数(){
多雷迪();
var prm=Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(函数(s,e){
多雷迪();
});  
}); 
所有这些都使得JQuery在回发后不会崩溃

function doReady() {

$('.drag').draggable({ revert: true, helper: 'clone' });
$('.drop').droppable({
    tolerance: "touch", // Here should be a string
    drop: function() {

        $('#myHidden').val('Testy test test');
        __doPostBack('<%= HiddenButton.UniqueID  %>', '');
        alert(#myHidden.val);

    }


});

} // End of do ready
</script>
函数doReady(){
$('.drag').draggable({revert:true,helper:'clone'});
$('.drop')。可拖放({
容差:“touch”//这里应该是一个字符串
drop:function(){
$('#myHidden').val('Testy test');
__doPostBack('','');
警报(#myHidden.val);
}
});
}//do ready结束
这里是相关的ASPX部分,有神秘的“myHidden”东西


我的javascript部分是否做错了什么,或者我对这个fubar的整个概念是否都错了

谢谢!
Bill

如果您希望将隐藏的输入发回,则需要提供名称和id。只有带有名称的输入才会与已发布的表单一起发送。您可能希望将其设置为asp:HiddenField,以便在服务器端轻松检索其值,尽管您也可以从Request.Form集合中获取该值

<asp:HiddenField runat="server" id="myHidden" />

将您的javascript更改为:

drop: function() {

    $('[id$="myHidden"]').val('Testy test test');
    __doPostBack('<%= HiddenButton.UniqueID  %>', '');
    alert($('[id$="myHidden"]').val());

}
drop:function(){
$('[id$=“myHidden”]').val('Testy test');
__doPostBack('','');
警报($('[id$=“myHidden”]')。val();
}

为什么不使用jQuery.post()在drop函数中发送数据,然后使用回调函数对ASP返回的内容执行任何操作,而不是将值扑通到输入字段中?这是有原因的,因为我不知道该怎么做!您是否有一个很好的文档/教程链接,或者我可以从中学习的代码片段?这听起来像是我目前正在做的一个简单得多的方法。使用asp:HiddenField非常有效!我学会了不要尝试给它起名字,因为ID就足够了。我调用一个函数(返回到的函数)并使用MyHidden的value.tostring,然后它就正常工作了!我非常高兴:我仍然对JQuery post方法感兴趣
drop: function() {

    $('[id$="myHidden"]').val('Testy test test');
    __doPostBack('<%= HiddenButton.UniqueID  %>', '');
    alert($('[id$="myHidden"]').val());

}