none
如何讓Label中的文字有超連結效果? RRS feed

解答

  • 弄了一個範例請參考,謝謝。

     

    .ASPX

    Code Snippet
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Regular.aspx.cs" Inherits="Regular" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Regular</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="網址
    http://james.moss.ocm.tw 是嗎?"></asp:Label>
            <br />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="轉換" />   
        </div>
        </form>
    </body>
    </html>

     

     

    .cs

    Code Snippet

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text.RegularExpressions;

    public partial class Regular : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        { }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Regex.Match(this.Label1.Text, @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?") != Match.Empty)
            {
                Response.Write("True");
                this.Label1.Text = Regex.Replace(this.Label1.Text, @"(?<link>http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)+", "<a href=\"${link}\">${link}</a>");
            }
        }
    }

     

     


    2007年8月22日 上午 08:47

所有回覆

  • 可以把Label換成HyperLink

    2007年8月22日 上午 07:03
  • 謝謝! 可是Label中還有其他非連結的文字存在, 怎麼辦?

    2007年8月22日 上午 07:11
  • hi maipcpub
    您可直接下html語法試試

    Code Snippet
    <asp:Label ID="lblurl" runat="server" Text="<a href='http://aa.bb.com' target='_blank'>http://aa.bb.com</a>"></asp:Label>

     

     

     

    2007年8月22日 上午 07:26
  • 不是啦, 文字全部都是從資料庫撈出來的, 事先根本不知道有 網址的超連結

    我們在一般的部落格或是討論區, 有時候看到網友的文章中有網址的文字

    會自動有超連結的功能, 這是怎麼做的呀!

     

    2007年8月22日 上午 07:32
  • 例如這一句

    Google一下

    html tag 就像這樣

    <A href="http://www.google.com.tw">Google</A>一下

    存在資料庫中也是長這樣...

    然後再撈出給label就好囉

    2007年8月22日 上午 07:45
  • ㄛ, 所以在寫入資料庫的輸入介面中, 就要把<Tag>包進去囉!

    那又要怎麼做呀! 有資料可參考嗎?

    不好意思,我是新手, 比較拙一點, ...

     

    2007年8月22日 上午 07:51
  • 弄了一個範例請參考,謝謝。

     

    .ASPX

    Code Snippet
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Regular.aspx.cs" Inherits="Regular" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
    http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="
    http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Regular</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="網址
    http://james.moss.ocm.tw 是嗎?"></asp:Label>
            <br />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="轉換" />   
        </div>
        </form>
    </body>
    </html>

     

     

    .cs

    Code Snippet

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Text.RegularExpressions;

    public partial class Regular : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        { }
        protected void Button1_Click(object sender, EventArgs e)
        {
            if (Regex.Match(this.Label1.Text, @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?") != Match.Empty)
            {
                Response.Write("True");
                this.Label1.Text = Regex.Replace(this.Label1.Text, @"(?<link>http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)+", "<a href=\"${link}\">${link}</a>");
            }
        }
    }

     

     


    2007年8月22日 上午 08:47