【问题标题】:repeater is not binding when the value starts with "<"当值以“<”开头时,repeater 未绑定
【发布时间】:2016-03-11 14:00:45
【问题描述】:

我正在使用转发器来绑定存储过程中的数据。它大部分时间都正确绑定数据,但是当结果列值以“开头时,当它无法按预期工作时,我会遇到问题

中继器代码:

<asp:Repeater ID="repeter1" runat="server">
   <HeaderTemplate>
      <table style="table-layout: fixed; width:100%;" >
   </HeaderTemplate>
   <ItemTemplate>
         <tr>
           <th>Column 1</th>
           <th>Column 2</th>
           <th>Column 3</th>
         </tr>
         <tr>
           <td>
              <asp:Label ID="lbl1" runat="server"><%#DataBinder.Eval(Container.DataItem, "column1")%></asp:Label></td>
           <td>
              <asp:Label ID="lbl2" runat="server"><%#DataBinder.Eval(Container.DataItem, "column2")%></asp:Label></td>
           <td>
              <asp:Label ID="lbl3" runat="server"><%#DataBinder.Eval(Container.DataItem, "column3")%></asp:Label></td>
         </tr>
    </ItemTemplate>
    <FooterTemplate>
      </table>
    </FooterTemplate>
</asp:Repeater>

假设如果我们取“column3”,当输出值以“”开头时,它根本没有绑定,(看起来像特殊字符)。

谁能告诉我如何解决这个问题。

提前致谢!

【问题讨论】:

  • Server.HtmlEncode()包装

标签: asp.net data-binding binding repeater


【解决方案1】:

像这样用Server.HtmlEncode() 包装它:

<asp:Label ID="lbl3" runat="server"><%# Server.HtmlEncode(Eval("column3").ToString())%></asp:Label>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多