asp.net – 如何在Eval格式字符串中使用单引号

前端之家收集整理的这篇文章主要介绍了asp.net – 如何在Eval格式字符串中使用单引号前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Repeater,它的sqlDatasource嵌套在Gridview TemplatedField中.
Repeater的数据源SelectCommand是使用Gridview中Eval的FormatString设置的.
SelectCommand有一个WHERE子句,用于比较字符串.
因为我已经使用了单引号和双引号,所以我无法在sql WHERE子句中分隔字符串.

如何在Eval FormatString中添加单引号?

我尝试过使用’Replace‘.
我尝试过使用’Special Characters‘(… WHERE StringField ='{0}’…)

到目前为止没有运气.我感谢您提供的任何帮助.

<asp:GridView ID="GridView1" runat="server" DataSourceID="DataSource1" DataKeyNames="Foo" AutoGenerateColumns="False" AllowSorting="true" >
    <Columns>
        <asp:BoundField DataField="Foo" HeaderText="Foo" SortExpression="Foo" />
        <asp:BoundField DataField="Bar" HeaderText="Bar" SortExpression="Bar" />
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Repeater ID="Repeater1" runat="server" DataSourceID="DataSourceNested">
                    <ItemTemplate>
                        <asp:Label ID="Label1" runat="server" Text='<%# Eval("Blah") %>'></asp:Label>
                    </ItemTemplate>
                </asp:Repeater>
                <asp:sqlDataSource ID="DataSourceNested" runat="server" DataFile="~/App_Data/DatabaseName"
                    SelectCommand='<%# Eval("Bar","SELECT Blah FROM TableName WHERE (StringField = {0})") %>' >
                </asp:sqlDataSource>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

解决方法

不要忘记.aspx页面只是XML.你可以像往常一样逃避报价.

例如:

<asp:Repeater ID="repeatTheLabel" runat="server">
    <ItemTemplate>
        <asp:Label ID="Label1" Text="<%# Eval(&quot;Id&quot;,&quot;This is item '{0}'.&quot;) %>" runat="server" />
    </ItemTemplate>
    <SeparatorTemplate>
        <br />
    </SeparatorTemplate>
</asp:Repeater>

当上述表达式是数据绑定时,<%#和%>之间的值.变为:

Eval("Id","This is item '{0}'.")

…当数据绑定带有“Id”属性值为1到5的对象数组时,在HTML页面生成输出作为输出

This is item ‘1’. This is item ‘2’. This is item ‘3’. This is item ‘4’. This is item ‘5’.

原文链接:https://www.f2er.com/aspnet/251563.html

猜你在找的asp.Net相关文章