0

我在我的 html 中使用此代码:

<a href="<%# ((bool)Eval("IsLinkToOther")) ? Eval("NewsLink") : ../News.aspx?NewsId=Eval("NewsId") %>"><%# Eval("Title") %></a>

或这个:

<a <%if(((bool)Eval("IsLinkToOther")))
   { %>
     href="<%#Eval("NewsLink")%>"                               
<% } %>
 <%else
   {%>
     href="../News.aspx?NewsId=<%#Eval("NewsId")%>"
<% } %> ><%# Eval("Title") %></a>

但它不起作用,我如何使用它们,请帮助,谢谢...

4

3 回答 3

1

您是否尝试过添加

runat="server"

属性到您的 HTML 标签?

于 2012-04-08T11:24:01.140 回答
1

纯 HTML 在客户端上呈现和解释。C# 通常用于服务器端(例如在 aspx 文件中)。

因此,要运行它,您必须从支持 ASP.NET 的服务器(例如启用了 ASP.NET 的 IIS)为其提供服务。

如果您正在寻找客户端功能,您应该使用 Javascript。

于 2012-04-08T11:18:22.523 回答
0

恕我直言,除非绝对必要,否则不要这样做。将表示层与代码隐藏混合在一起是一个非常糟糕的习惯。

在我看来,正确的方法是利用您使用 asp.net 的事实。

页面.aspx

<asp:HyperLink ID="myLink" NavigateUrl="" runat="server" />

页面.aspx.cs

myLink.NavigateUrl = SomeClass.IsLinkToOther ? SomeClass.NewsLink : "~/News.aspx?NewsId=" + SomeClass.NewsId;
于 2012-04-08T11:17:06.043 回答