C# “操作数”+&引用;在aspx文件中使用Bind/Eval

C# “操作数”+&引用;在aspx文件中使用Bind/Eval,c#,asp.net,web-applications,C#,Asp.net,Web Applications,我有这个aspx代码: <asp:TemplateField HeaderText="Name" SortExpression="Firmierung"> <ItemTemplate> <asp:HyperLink ID="HyperLink" runat="server" NavigateUrl='<%#Eval("Id", "DetailInfo.aspx?Id={0}") %>' Text='<%#Bind("Name")

我有这个aspx代码:

<asp:TemplateField HeaderText="Name"  SortExpression="Firmierung">
   <ItemTemplate>
      <asp:HyperLink ID="HyperLink" runat="server" NavigateUrl='<%#Eval("Id", "DetailInfo.aspx?Id={0}") %>' Text='<%#Bind("Name") %>' />
   </ItemTemplate>
</asp:TemplateField>

我想添加一个if条件,这样我就可以将操作数+与文本一起使用,类似这样:

<asp:TemplateField HeaderText="Name"  SortExpression="Firmierung">
    <ItemTemplate>
        <% if(Condition is true) { %>
           <asp:HyperLink ID="HyperLink" runat="server" NavigateUrl='<%#Eval("Id", "DetailInfo.aspx?Id={0}") %>' Text='<%#Bind("Name") + ("Active") %>' />
        <% } else { %>
           <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl='<%#Eval("Id", "DetailInfo.aspx?Id={0}") %>' Text='<%#Bind("Name") %>' />
        <% } %> 
    </ItemTemplate>
</asp:TemplateField>


我不知道在这种情况下如何使用操作数+。谢谢你的帮助。谢谢

您不能使用
Bind
执行此操作。虽然使用
Eval
可以添加一些C代码,但是使用
Bind
是不可能的
Eval
实际上是一个方法调用,但是
Bind
只是一个声明,框架将其转换为一些绑定代码,其格式必须是
Bind(“FieldName”)
(您可以添加格式)

Hyperlink
Text
属性不可由客户端编辑,因此
Eval
应该足够了,您可以将其写入一行

<asp:HyperLink ID="HyperLink" runat="server" 
      NavigateUrl='<%#Eval("Id", "DetailInfo.aspx?Id={0}") %>' 
      Text='<%# Eval("Name") + (Condition ? + Eval("Active") : "") %>' />

试试这个

Text='<%# String.Format({0}{1},Eval("Name"),Eval("Active")) %>' 
Text=''

Text=''
有关更多帮助,请访问链接:


因此,根据您的建议,我确实喜欢:Text=''/>并且我得到了一个错误:“Bind”这个名称在当前上下文中不存在。有什么不对劲吗?你不能这么做。您不能将代码添加到
绑定中
。您只能使用
Eval
。“你到底想干什么?”马格纳斯,这不是我的答案。我在后退。如果您有其他想法,请发表评论或写下您自己的答案。@AmiramKorach对此表示抱歉,认为是语法错误。@AmiramKorach:我解决了这个问题,我的答案在上面。谢谢你的帮助:)。我想要的是检查这个名称是否是活动的(bool),然后我打印超链接的文本是Name(活动),否则,文本是惟一的Name.:)您好,谢谢您的回答,这正是我要找的,但是您的回答中有一点语法错误,我们需要用“”表示{0}{1}。这是我的代码,工作起来很有魅力:Text=''
Text='<%# String.Format({0}{1},Bind("Name"),Bind("Active")) %>'