2009-06-11 39 views
1

我对存储在SQL Server数据库中的显示URL有疑问。显示来自SQL Server的URL

这里是一个例子。
我有一个名为“Additionalinfo”的表中存储此信息的字段。

公司名称
1街道名称,郊区
博士:0000 0000
宽:http://www.google.com

当我在页面上显示该信息,它显示的信息正常,但是它不”使URL活动。它只是将它显示为纯文本。

我想是这样显示的:

公司名称
1街道名称,郊区
博士:0000 0000
宽:http://www.google.com

有什么办法我可以在不更改要输入到数据库中的文本的情况下使URL处于活动状态?

任何帮助将不胜感激。

回答

1

你需要以某种方式在URL周围包装一个锚标签()。请在输入时或在页面上显示时进行此操作。如果仅在显示器上进行操作,则需要一些方法来检测URL部分。如果您有一个用于填充此列的URL字段,那将是放置该逻辑最简单的地方。

出于显示目的,请使用正则表达式。下面是一些例子(未测试的)

http://www.velocityreviews.com/forums/t122843-find-url-in-a-string.html

商店

http://www.google.com

作为

< A HREF =“http://www.google。 “>http://www.google.com</a>

当我发布HTML的时候有点坏,但我想你明白了。

+0

我不会存储标记 - 我会生成它在显示时间 – 2009-06-11 02:36:43

0

由于您无法更改数据库中的内容,所以在显示URL时我会进行替换。检查数据库项目是以http://开头还是基于从数据库中出来的列,然后用锚标记包装它。

0

如果要显示在一个RTF控制的信息就应该使URL“活动”

0

最后一行,做这样的事情:

litUrl.Text = string.Format(@"W: <a href=""{0}"">{0}</a>", datareader["W"]); 

litUrl是文字控制。当然,这个假设非常像ASP.Net/C#。你真的没有分享你用来检索这些数据并把它放在一个页面上。共享您现有的代码将非常有帮助。

0

如果您使用的控制器有一个OnItemDataBound事件,您可以在后面的代码中执行此操作。

Hyperlink test; 
test.NavigateUrl = [item from database]; 
test.Text = [whatever Text]; 
0

你只需把它写详细...

传统的ASP:

Response.Write(theUrl) 
Response.Write("<a href="""+theUrl+""">"+theUrl+"</a>") 

PHP

echo(theUrl); 
echo('<a href="' . theUrl . '">' . theUrl . '</a>'); 

怒吼,如果你想另一种语言...