如何在我的内联if语句中使用链接?

时间:2013-09-06 15:46:05

标签: c# asp.net

我有一个内联if语句来检查字符串的长度或者是否为null。如果它为null,或者长度为4,则显示“当前不可用”,否则将显示该字符串。这是我的内联声明

<%#(String.IsNullOrEmpty(Eval("WK_PHONE_EXT").ToString()) ||
 ((Eval("WK_PHONE_EXT").ToString().Length == 4)) ? "Currently Unavailable " : 
   Eval("WK_PHONE_EXT"))%>

我希望将该声明更进一步,以便用户可以点击使用手机拨打电话。

<a href='tel:+<%# Eval("WK_PHONE_EXT")%>'><%# Eval("WK_PHONE_EXT")%></a>

如何组合2以便在需要时显示currently unavailable(不创建链接)并在传递if语句时生成链接?

2 个答案:

答案 0 :(得分:1)

一种选择是在页面类中创建一个好的帮助方法:

protected String PhoneNumber(String phone)
{
    return String.IsNullOrEmpty(phone) || phone.length == 4
        ? "currently unavailable"
        : String.Format("<a href=\"tel:+{0}\">{0}</a>", phone);
}

然后:

<%# PhoneNumber(DataBinder.Eval("WK_PHONE_EXT").ToString()) %>

答案 1 :(得分:0)

合并这两个语句以产生:

<%#(String.IsNullOrEmpty(Eval("WK_PHONE_EXT").ToString()) || ((Eval("WK_PHONE_EXT").ToString().Length == 4)) ?
    "Currently Unavailable " :
    "<a href='tel:+" + Eval("WK_PHONE_EXT") + "'>" + Eval("WK_PHONE_EXT") + "</a>" %>