Как вы объединяете текст при использовании выражения Bind в asp.net
Каков синтаксис для конкатенации текста в выражение привязки для веб-страницы asp.net(aspx).
Например, если у меня была связанная гиперссылка:
<asp:HyperLink id="lnkID" NavigateUrl='<%# Bind("Link") %>' Target="_blank"
Text="View" runat="server"/>
Как вы изменяете, скажем, текст, чтобы связать связанное значение со строкой? Вариации вроде этого не совсем правильные.
Text='<%# Bind("ID") + " View" %>'
и
Text='<%# String.Concat(Bind("ID"), " View") %>'
Ответы
Ответ 1
Вы также можете поместить "конкатенацию" в текстовую часть тега при использовании поля шаблона:
<asp:TemplateField HeaderText="Name" SortExpression="sortName">
<ItemTemplate>
<asp:LinkButton ID="lbName" runat="server" OnClick="lbName_Click" CommandArgument='<%# Eval("ID") %>'>
<%--Enter any text / eval bindind you want between the tags--%>
<%# Eval("Name") %> (<%# Eval("ID") %>)
</asp:LinkButton>
</ItemTemplate>
В результате получается вывод:
Имя (ID)
внутри столбца шаблона.
Ответ 2
Вместо этого используйте Eval.
Text='<%# Eval("ID", "{0} View") %>'
Eval также лучше, если значение не будет обновляться, где Bind разрешает двухстороннюю привязку данных.
Ответ 3
Я использовал String.Format("{0}{1}"
... до хорошего эффекта.