我不知道你在做什麼錯,但它可能是你的字面意思。你可以做這個:
'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