在代码后面使用javascript变量分配C#变量值

时间:2013-09-24 09:32:17

标签: c# javascript .net visual-studio-2010 sharepoint-2010

我正在尝试访问脚本变量pic并将其分配给C#中的另一个变量,比如隐藏字段hdn。出于某种原因,下面的脚本也放在页面后面的相同代码中。我可以在这里直接访问隐藏字段。但是如何从脚本变量中分配它值?

 <script type=\"text/javascript\">
   $(document).ready(function() {
     $.get('<%=completeURL%>', 
     function(d) {
       $(d).find('entry').each(function(){
         var $entry = $(this);
         var pic = $entry.find('content').attr('src');
         alert(pic);
       });
     });
   });
 </script>

3 个答案:

答案 0 :(得分:1)

无法通过javascript分配C#变量。 您必须将该值从客户端(运行JavaScript的位置)发送到服务器,然后分配它。 这就是所谓的ajax请求,只需google它就可以找到数百万个如何实现这一目标的好例子。

答案 1 :(得分:1)

创建隐藏字段,然后从javascript

设置值
 <asp:hiddenfield id="hf_MyValue"
          value="whatever" 
          runat="server"/>

如何在javascript中设置值

//get value from hidden filed
var test= document.getElementById('<%= hf_MyValue.ClientID %>');
//set value in hidden filed
document.getElementById('<%= hfBrand.ClientID %>').value = "True";

答案 2 :(得分:0)

创建一个这样的隐藏变量,

<input type="hidden" id="hdnVariable" runat="server" />

现在试试这段代码

<script type=\"text/javascript\">
   $(document).ready(function() {
     $.get('<%=completeURL%>', 
     function(d) {
       $(d).find('entry').each(function(){
         var $entry = $(this);
         var pic = $entry.find('content').attr('src');
         //assign value to server side hidden variable
         $("#<%=hdnVariable.ClientID%>").val(pic);
       });
     });
   });
 </script>

现在您可以从C#代码中访问此隐藏字段,如此

string pic=hdnVariable.Value;