我不知道你在做什么错,但它可能是你的字面意思。你可以做这个:
'id': '<%# Eval("AddressID") %>'
也就是说有其他选择,以发送一个数组来你的脚本:
ClientScriptManager.RegisterArrayDeclaration内置的框架。下面是从链接页面取一个例子:
' Define the array name and values.
Dim arrName As String = "MyArray"
Dim arrValue As String = """1"", ""2"", ""text"""
' Get a ClientScriptManager reference from the Page class.
Dim cs As ClientScriptManager = Page.ClientScript
' Register the array with the Page class.
cs.RegisterArrayDeclaration(arrName, arrValue)
这会使下面的数组只是你的形式结束前:
var MyArray = new Array("1", "2", "text");
就个人而言,我更喜欢使用JavaScriptSerializer,因为你可以自由序列基本上任何对象:
Protected Function GetArray() As String
Dim exampleList As New List(Of Pair) From {New Pair(7, 4), New Pair("Foo", "Bar")}
Dim serializer As New Script.Serialization.JavaScriptSerializer()
Return serializer.Serialize(exampleDictionay)
End Function
然后,您可以将其添加到您的.aspx文件的任何地方你喜欢:
var myArray = <%=GetArray()%>;
实际上呈现为一个数组文本:
var myArray = [{"First":7,"Second":4},{"First":"Foo","Second":"Bar"}];
当然,你也可以做到这一点完全在你的ASPX标记:
<% Dim serializer As New Script.Serialization.JavaScriptSerializer() %>
var array = <%= serializer.Serialize({"look", "at", "this"})%>;
感谢丹尼尔,这看起来像是一个解决方案,但我觉得它增加了很多视觉样板。下面我找到了一个(相当)优雅的解决方案。 – Echilon