15

将文本连接到 asp.net 网页 (aspx) 的绑定表达式的语法是什么。

例如,如果我有一个像这样绑定的超链接:

<asp:HyperLink id="lnkID" NavigateUrl='<%# Bind("Link") %>' Target="_blank" 
                        Text="View" runat="server"/>

例如,您如何更改 Text 以将绑定值与字符串连接起来?像这样的变化并不完全正确。

Text='<%# Bind("ID") + " View" %>'

也没有

Text='<%# String.Concat(Bind("ID"), " View") %>'
4

4 回答 4

35

请改用 Eval。

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

如果不打算更新值,则 Eval 也更好,其中 Bind 允许两种方式的数据绑定。

于 2008-12-11T21:09:31.980 回答
8

如果使用模板字段,您还可以将“连接”放在标签的文本部分:

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

这导致输出如下:

姓名(身份证)

模板列的内部。

于 2008-12-12T22:10:11.553 回答
3

我以前用过String.Format("{0}{1}"……效果很好。

于 2008-12-11T20:58:43.920 回答
1

您可以使用以下内容:

CommandArgument='<%#String.Format("{0}|{1}", Eval("ArgZero"), Eval("ArgOn"))%>'
于 2019-11-13T09:39:53.890 回答