2014-04-14 33 views
0

我想使用asp.net轉發器以JSON類型獲取變量中的數據。我在Javascript中使用Repeater。但它給我的語法錯誤。這裏是代碼:在Javascript中使用asp.net轉發器時的語法錯誤

<script type="text/javascript"> 
     var markers = [enter code here 
<asp:Repeater runat='server'></asp:Repeater> 

     <asp:Repeater ID="rptMarkers" runat="server"> 
     <ItemTemplate> 
       { 
        "title": '<%# Eval("Name") %>', 
       "lat": '<%# Eval("Latitude") %>', 
       "lng": '<%# Eval("Longitude") %>', 
       "description": '<%# Eval("Description") %>' 
      } 
    </ItemTemplate> 
    <SeparatorTemplate> 
     , 
    </SeparatorTemplate> 
    </asp:Repeater> 
    ]; 
    </script> 

任何人都可以幫我嗎?

+1

添加語法錯誤消息(還是我失去了它在問題文本的地方?) – Spektre

+0

的代碼紅色下劃線顯示,有一些問題。當我將鼠標懸停在代碼上時,它表示語法錯誤。我正在使用VS 2012. –

+0

我看到的任何編譯器(包括MSVC++)都有錯誤日誌,通常位於源代碼頁面的底部,其中包含所有警告和錯誤。編譯通常在第一個錯誤時停止,並將焦點放在有錯誤的行上,並突出顯示該日誌中的錯誤代碼。 (在那裏你閱讀了語法錯誤消息和更多的信息,如';'預期的或某些數值告訴錯誤的地方,在這裏複製整個文本行如果沒有,那麼這可能是IDE中的一些錯誤(如無效翻譯,未知錯誤或只是關閉錯誤日誌) – Spektre

回答

1

這是一箇舊的帖子,但這個參考幫助我找出完全相同的問題。 asp repeater syntax error

這個想法是使用代碼隱藏來生成中繼器列表。

var markers = [ 
// start of generated objects from code-behind 

     <%=getMarkerObjects() %> 

// end of generated objects from code-behind 
    ]; 

現在,在您的代碼隱藏

Protected Function getMarkerObjects() As String 
    Const indent As String = " " 
    Dim dt = New DataTable 
    dt.Columns.AddRange({New DataColumn("Name", GetType(String)), New DataColumn("Latitude", GetType(Double)), New DataColumn("Longitude", GetType(Double)), New DataColumn("Description", GetType(String))}) 
    dt.Rows.Add({"p1", 32.2217, -110.9264, "p1"}) 
    dt.Rows.Add({"p2", 31.9556, -110.3067, "p2"}) 
    Dim ret As String = String.Empty 
    For Each r In dt.Rows 
     ret &= IIf(ret.Equals(String.Empty), "", indent & "," & vbCrLf) & 
      indent & "{" & vbCrLf & 
       indent & indent & """title"": '" & r("Name") & "'," & vbCrLf & 
       indent & indent & """lat"": '" & r("Latitude") & "'," & vbCrLf & 
       indent & indent & """lng"": '" & r("Longitude") & "'," & vbCrLf & 
       indent & indent & """description"": '" & r("Description") & "'" & vbCrLf & 
      indent & "}" & vbCrLf 
    Next 
    Return ret 
End Function 
+0

@Drew只是做了,提前張貼 –

+0

謝謝先生。 – Drew