Я определяю источник данных (для сортируемого списка) и имею небольшую загвоздку.
Код, аналогичный этому произведению:
<asp:SqlDataSource ID="myDataSource" runat="server"
SelectCommand="SELECT [aField], [bField] FROM Suggestions WHERE stype = 'X'"
ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" >
</asp:SqlDataSource>
Но настоящая строка выбора намного сложнее, я хочу сделать что-то вроде этого:
<asp:SqlDataSource ID="myDataSource" runat="server"
SelectCommand="SELECT [aField], [bField] " +
"FROM Suggestions WHERE stype = 'X'"
ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" >
</asp:SqlDataSource>
Я искал разные варианты терминов:
конкатенация конкатенация строковый тег html asp.net
но я ничего не могу найти по этому поводу, хотя, похоже, для этого требуется строковый литерал, а не строковое выражение. В итоге я собираюсь определить всю эту сложную функцию как функцию в базе данных, но сейчас я хотел бы попробовать что-то вроде:
<asp:SqlDataSource ID="myDataSource" runat="server"
SelectCommand="<% qry_str('X'); %>"
ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" >
</asp:SqlDataSource>
где qry_str () определяется в коде позади; однако этот конкретный код не работает:
Код позади определяется как:
protected string qry_str(string t)
{
string s =
"SELECT [aField], [bField] " +
"FROM Suggestions WHERE stype = '" + t + "'";
return "s";
}
Я не думаю, что проблема заключается в коде. Я думаю, что это asp.net и как я его называю. Как правильно делать то, что я пытаюсь сделать?