2014-10-30 117 views
0

从数据库返回一个逗号分隔的字符串值,我想将它赋值给一个javascript变量。 隐藏的字段不是一个选项。 Unabele将数据转换为js变量。这是我曾尝试将值赋给JavaScript变量C#

ASPX:

<script> 
var Collection = <%GetCodes();%> 
$(document).ready(function() { 
    alert(Collection); 
</script> 

C#:

public string GetCodes() 
    { 
     datatable dt = function to get data; 
     return Convert.ToString(dt.Rows[0]["codes"]); 
    } 
+1

您是否试过'var Collection ='<%= GetCodes();%>';'? – haim770 2014-10-30 11:05:08

+0

我收到一条警报,说'未定义' – Qwerty 2014-10-30 11:11:19

回答

1
<script> 
var Collection = <%=GetCodes()%>; 

$(document).ready(function() { 
    alert(Collection); 
}); 
</script> 

(添加=,删除分号)。

觉得用=作为评估的一部分(即你的GetCodes()方法的返回),并没有=因为没有与所返回什么关系的方法的调用。

请注意,您的圆括号不平衡,可能会导致您的问题!?无论如何,在我的代码修复。


另一方面:要小心地以这种方式混合JS和C#。当他们紧密联系在一起时,事情会非常糟糕,非常快。

+0

结果是一个字符串。所以它应该是'var Collection ='<%= GetCodes()%>';'非常感谢 – Qwerty 2014-10-30 11:20:00

+0

没问题..... – 2014-10-30 11:20:19

0
<script> 
    var Collection = <%=GetCodes()%>; 
    $(document).ready(function() { 
     alert(Collection); 
}); 
    </script> 
+0

给出错误 - CS1026:)预计 – Qwerty 2014-10-30 11:12:09

0

值从GetCodes()返回不应该在'"

+0

不,他们不是。他们就像 - abc,def,ghi – Qwerty 2014-10-30 11:12:58