2013-09-24 156 views
2

我想要訪問腳本變量pic並將它賦給C#中的另一個變量,比如隱藏字段hdn。出於某種原因,下面的腳本也放在頁面後面的相同代碼中。我可以直接訪問這裏的隱藏字段。但是,我如何從腳本變量賦值呢?在代碼後面使用javascript變量賦值C#變量值

<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> 

回答

1

無法通過javascript分配C#變量。 您必須從客戶端(您正在運行JavaScript的地方)將該值發送到服務器,然後分配它。 這就是所謂的ajax請求,只是谷歌它,你會發現如何實現這個數以百萬計的好例子。

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"; 
+0

這就是我需要幫助。我已經創建了一個這樣的字段,但問題是現在如何從腳本中賦值它? –

+0

@ankitaalung,'$('#yourcontrolId')。val(pic);' –

+0

試過了,沒有爲我工作。任何想法爲什麼? –

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; 
+0

對我來說很有意義,讓我先試試吧。 –

+0

它調試後仍然給我空字符串。 –

+0

你試圖獲得這個值的事件,你可以發佈你正在使用的完整代碼嗎?,如果可能的話,cs和asp.net –