ASP.NET转发器导致文本框

时间:2014-01-08 14:37:49

标签: asp.net repeater asprepeater

我是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中。那可能吗?

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

没有中继器的代码隐藏怎么办?我假设你的标记可以迭代,所以你可以做这样的事情(使用LINQ):

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