当前位置: 首页 > 面试题库 >

如何在Eval格式字符串中使用单引号

罗法
2023-03-14
问题内容

我有一个Repeater及其SqlDatasource嵌套在Gridview TemplatedField中。 使用Gridview中的Eval的FormatString设置Repeater的数据源SelectCommand。
SelectCommand具有WHERE子句,该子句用于比较字符串
因为我已经使用了单引号和双引号,所以在SQL WHERE子句中定界字符串时遇到了麻烦。

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

我试过使用“替换”。
我尝试使用’特殊字符‘(… WHEREStringField =’{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页面上生成作为输出:

这是项目“ 1”。
这是项目“ 2”。
这是项目“ 3”。
这是项目“ 4”。
这是项目“ 5”。



 类似资料:
  • 问题内容: 我非常喜欢使用字典来格式化字符串。它可以帮助我阅读所使用的字符串格式,也可以利用现有的字典。例如: 但是我不能弄清楚这样做的python 3.x语法(或者甚至是可能的)。我想做以下 问题答案: 由于问题是特定于Python 3的,因此这里使用的是从Python 3.6开始可用的新f字符串语法: 注意外部单引号和内部双引号(您也可以采用其他方法)。

  • 我是Android开发新手,我正在尝试以下代码: 我明白了: 隐式使用默认语言环境是常见的错误源: 使用字符串。格式(区域设置,…)相反 我不知道如何修改代码以实现建议。

  • 我可以将替换为其他一些字符序列(例如)来执行字符串替换,但是如果我可以用正则表达式来替换,这将更加清楚。

  • 问题内容: 我想像这样在Bash中显示一个字符串 当然可以这样 但是如何在字符串周围使用单引号的同时完成此操作? 问题答案: 不起作用。但是以下工作原理: 在bash的手册页中: 即使在单引号之前加反斜杠,也不能在单引号之间引起单引号。 .... $’string’* 形式的单词经过特殊处理。该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。 *

  • 问题内容: 是否可以使用Python的语法仅替换某些键。 考虑以下示例: 哪个返回 有没有办法做到这一点? 问题答案: 我使用了一个更简单的解决方法: 可以使用dict中的更多键轻松扩展此功能,即使搜索字符串不存在也不会抱怨。可能会进行改进以提供更多的功能,但这对我来说已经足够了。

  • 问题内容: 嗨,我有以下字符串:2012-05-20T09:00:00.000Z,我想将其格式化为20/05/2012,9am 如何在Java中这样做? 谢谢 问题答案: 用先 来,然后 到