У меня есть Repeater и его SqlDatasource, вложенные в Gridview TemplatedField.
Команда SelectCommand источника данных Repeater устанавливается с использованием FormatString Eval из Gridview.
В SelectCommand есть предложение WHERE, которое сравнивает строку.
Поскольку я уже использовал одинарные и двойные кавычки, у меня возникают проблемы с разделением строки в предложении SQL WHERE.
Как добавить одинарные кавычки в Eval FormatString?
Я пытался использовать ' Заменить '.
Я пытался использовать ' Специальные символы ' (... WHERE StringField = & apos; {0} & apos; ...)
Пока не повезло. Я ценю любую помощь, которую вы можете предложить.
<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>