2010-09-08 53 views
3

我在外部JavaScript的ToDo函數中有一個visitorID變量。如何在C#用戶控件中從jquery中檢索值?

我想在用戶控件中賦值它的值。前端代碼:

<asp:HiddenField ID="hidVisitorID" runat="server" Value="-1"/> 

<script type="text/javascript"> 

$j('#<%= hidVisitorID.ClientID %>').val(ToDo.visitorID); 

</script> 

在後端,它說,這hidVisitorID.Value爲空(或-1在這種情況下)。我如何從jQuery變量賦值給hidVisitorID?

+0

您是否可以更具體地瞭解您通過這樣做實際完成的目標?在目前的情況下,只需要一個普通的HTML隱藏輸入就足夠了,但我不確定你想要用ASP.NET控件做什麼。 – Andrew 2010-09-08 13:59:20

+0

我認爲你對前端與後端混淆......但我無法確定你的問題。 – 2010-09-08 14:00:25

+0

對不起,現在會更新一個問題 – 2010-09-08 14:01:52

回答

0

試試這個代碼:

<script type="text/javascript" src="jquery.min.js"></script> 
<script type="text/javascript" src="my_TO_DO.js"></script> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     alert('my todo varname is: ' + ToDo.variableName); 
     $('#<%= hidVisitorID.ClientID %>').val("foobar"); 
    }); 
</script> 


<asp:HiddenField ID="hidVisitorID" runat="server" Value="-1"/> 

<asp:Button Text="sub" runat="server" onclick="Click" /> 

當您單擊該按鈕,它會回發。

protected void Click(object sender, EventArgs e) 
{ 
    string valFromHidden = hidVisitorID.Value; 
    //valFromHidden is now foobar 
}  

確保您的jQuery引用高於您的其他.js引用。

+0

這將工作。但我無法從ToDo.js中獲取變量而不是「foobar」。我把.val(ToDo.variableName)和它不認識ToDo – 2010-09-08 14:34:16

+0

@Display:在這裏查看答案的更新。 'Alert()'和放置各種.js腳本標籤。 – 2010-09-08 15:17:46

+0

我有一種感覺,我應該重構我的JavaScript,使其工作..隨着一些值分配後加載事件。無論如何,謝謝你的回答。 – 2010-09-08 16:10:06