c#中的重定向问题

时间:2014-08-30 09:59:28

标签: c# asp.net redirect

我遇到以下情况的问题

我正在开发一个聊天应用程序,希望用户可以将链接发送到特定页面,如

Hey check out my link www.link1.com 我正在做的是使用reg-expression来检测链接并将其替换为<a href > 这是我正在使用的代码:

 public string ReplaceMsgHyperLinkIfExist(string msg)
    { 
        Regex r= new Regex(@"((?:(?:https?|ftp|gopher|telnet|file|notes|ms-help):(?://|\\\\)(?:www\.)?|www\.)[\w\d:#@%/;$()~_?\+,\-=\\.&]+)");
        Match m = r.Match(msg);
        while (m.Success)
        {
          string val="<a href='"+m.Value+"' title='"+m.Value+"' >"+m.Value+"</a>";
          msg= msg.Replace(m.Value,val);
          m = m.NextMatch();
        }
        return msg;
    }

问题是当邮件被发送并且用户点击它时,它没有正确地重定向,例如,如果用户在c#中发送此消息hi www.google.com,当接收者点击它时它会重定向到{{1 (asp.net正在考虑将链接作为子文件夹而不是另一个网站的实际路径,那将是什么解决方案?

2 个答案:

答案 0 :(得分:0)

确保链接以http://或https://开头,否则浏览器会认为链接是相对的。

答案 1 :(得分:0)

正如Brain已经提到过,请确保您的链接以http://https://开头。因此,请在您的href标记属性中附加http://https://,同时添加{{您target="_blank"标记中的1}}属性。

希望它会对你有所帮助。