【问题标题】:ASP.NET repeater result to textboxASP.NET 转发器结果到文本框
【发布时间】:2014-01-08 14:37:48
【问题描述】:

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

【问题讨论】:

标签: asp.net repeater asprepeater


【解决方案1】:

你可以这样做

<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>

【讨论】:

  • 感谢您的回答。也许我不清楚,所以我编辑了我的问题。我想将转发器的结果转换为单个文本框。我不想创建多个文本框。
【解决方案2】:

如何在没有中继器的代码隐藏中执行此操作?我假设你的 markers 可以被迭代,所以你可以做这样的事情(使用 LINQ):

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

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 1970-01-01
    • 2022-07-19
    • 2017-10-19
    • 2016-03-30
    • 2014-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-11
    相关资源
    最近更新 更多