2008-12-11 47 views
15

将文本连接成asp.net网页(aspx)的绑定表达式的语法是什么?如何在asp.net中使用绑定表达式时连接文本

举例来说,如果我有被束缚的这样一个超级链接:

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

如何改变,也就是说,文本来连接一个字符串绑定值?像这样的变化不太正确。

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

同样没有

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

回答

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> 

这导致输出,如:

名称(ID)

内部的模板列。

3

我用String.Format("{0}{1}" ...之前,效果良好。

34

改为使用Eval。

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

如果值不会更新,Bind允许双向数据绑定,则Eval也会更好。

+2

对于这个问题,Eval是正确的,因为在NavigateUrl属性中进行双向数据绑定没有意义 – 2008-12-11 21:14:30

相关问题