Как вы объединяете текст при использовании выражения Bind в asp.net - PullRequest
15 голосов
/ 11 декабря 2008

Каков синтаксис для объединения текста в выражение привязки для веб-страницы 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") %>'

Ответы [ 3 ]

35 голосов
/ 12 декабря 2008

Вместо этого используйте Eval.

Text='<%# Eval("ID", "{0} View") %>'

Eval также лучше, если значение не будет обновляться, где Bind допускает двустороннее связывание данных.

8 голосов
/ 13 декабря 2008

Вы также можете поместить «конкатенацию» в текстовую часть тега, если используете поле шаблона:

<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)

внутри столбца шаблона.

3 голосов
/ 11 декабря 2008

Я использовал String.Format("{0}{1}" ... до хорошего эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...