我正在尝试访问脚本变量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>
答案 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;