0

データベースフィールドの特定の値の条件でハイパーリンクを作成しようとしています。これはニュースページ用であり、一部のニュースには長いコンテンツが含まれています。この場合、ハイパーリンクを作成したいのですが、長さが短い場合はリンクが必要ありません。私が使用したコード:

<asp:Label ID="lblContent" runat="server" 
                        Text='<%# string.Format("{0}",Eval("New_Content").ToString().Length>150? <a href> Eval("New_Content").ToString().PadRight(150).Substring(0,150).TrimEnd() + " ..." </a>:Eval("New_Content")) %>' >
                    </asp:Label>

しかし、エラーがあるので、助けてもらえますか?

4

3 に答える 3

3

ハイパーリンクを作成しようとしています

それでは、なぜ<asp:HyperLink />コントロールを使用しないのでしょうか。

また、文字列を使用Substring()してテキストの長さを減らしたり...、最後に追加したりしないでください。css を使用してください。

例えば

<asp:HyperLink ID="hlContent" runat="server" CssClass="trimme" 
                Text='<%# Eval("New_Content").ToString() %>'></asp:HyperLink>

次に、というcssクラスを追加しますtrimme

a.trimme{
  display: block;  
  width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

この例を見てください

于 2013-08-23T16:04:12.547 に答える
0

あなたが持っていたコードはほとんど正しかったですが、いくつかの引用符が欠けているようです:

<asp:Label ID="lblContent" runat="server" 
    Text='<%# String.Format("{0}", Eval("New_Content").ToString().Length > 150 ? "<a href='" + Eval("Link_Href") + Eval("New_Content").ToString().PadRight(150).Substring(0, 150).TrimEnd() + "'>...</a>" : Eval("New_Content")) %>' >
</asp:Label>

ASP ラベルのテキストはそのまま応答ストリームに出力されるため、標準の HTML を記述できますが、新しい文字列オブジェクトを作成するため、引用符で囲む必要があります。

于 2013-08-23T15:53:27.693 に答える