如标题所示:我要修剪或格式化很长的超链接。如果文本太长,我希望代码知道这一点,并将其余的字符串替换为“ ...”,例如:“ [email protected]”。一旦“帐户”开始,我希望将其替换为“ ...”

我试过修剪,但是不起作用。

C#:

var getContact = _ecSystem.GetContact(ContactId.Value);
    hlEmail.Text = getContact.Email.Trim(); //getContact.Email is a string.


ASPX:

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

最佳答案

您是否尝试过使用常规SubString method

var emailaddress = getContact.Email.Trim();
hlEmail.Text = emailaddress.Length > 20 ? emailaddress.SubString(0, 17) + "..." : emailaddress;


但是正如@RahulSingh所说的,最优雅的方法是使用css and the text-overflow property,然后限制链接所在的html容器的大小。

<a style="text-overflow: ellipsis; width: 50px; float: left; overflow: hidden;" href="mailto:[email protected]">[email protected]</a>

10-04 20:30