2014-01-08 18 views
0

我是新来的asp.net。
我在我的代码中使用中继器,并且希望将中继器的结果作为文本使用到单个文本框中。 中继器的代码如下:中继器的ASP.NET中继器结果到文本框

<asp:Repeater ID="rptMarkers" runat="server"> 
         <ItemTemplate> 
          [ 
          <%# Eval("lat")%>, 
          <%# Eval("long") %>, 
          '<%# Eval("city")%>' 
          ] 
         </ItemTemplate> 
         <SeparatorTemplate> 
          , 
         </SeparatorTemplate> 
</asp:Repeater> 

的结果是这样的:

[ 38,1413580155577, 23,761239052, 'Athens' ] , [ 38,1199989318848, 23,742678165, 'Athens' ]

,我想在一个textbox.text被写入该行的结果。那可能吗?

+1

为什么要用'Repeater'呢? – melancia

+0

[asp.net repeater - 获取行项目的值\ _DataBound]的可能重复(http://stackoverflow.com/questions/15688704/asp-net-repeater-get-value-of-row-item-databound) – CodeCaster

回答

0

你可以做这样的

<asp:Repeater ID="rptMarkers" runat="server"> 
     <ItemTemplate> 
      <asp:TextBox runat="server" Text='<%# "[" +Eval("lat") + " , " + Eval("long")%> + " , " + Eval("city") + "]"' ></asp:TextBox> 
     </ItemTemplate> 
     <SeparatorTemplate> 
     , 
     </SeparatorTemplate> 
</asp:Repeater> 
+0

谢谢您的回答。也许我不清楚,所以我编辑了我的问题。我想将转发器的结果转换为单个文本框。我不想创建多个文本框。 –

0

什么做的代码隐藏无中继?我假设你标记可以重复,这样你就可以(使用LINQ)做这样的事情:

MyTextBox.Text = String.Join(",", MarkersCollection.Select(x => String.Format("[{0}, {1}, {2}]", x.Lat, x.Long, x.City)).ToArray());