如何创建数据并将其输出为链接
本文关键字:输出 链接 数据 何创建 创建 | 更新日期: 2023-09-27 18:26:50
我创建了一个web表单,可以使用文本编辑器将文章插入数据库。我的文章表有以下字段名;id、标题、内容、类型和上传日期。"content"字段名由文本组成。该文本还涉及来自另一个数据库表的数据,该表称为tag(即tag_id、name、type),该表未链接到文章表。
当我在webform上查看文章时,它们看起来像以下输出:
Pellentesque eget elit tag1. Vivamus ut lacinia lectus. Mauris eu efficitur mi.
Nam blandit est ut justo scelerisque, in sagittis nibh scelerisque.
tag2 placerat id risus ut aliquam. Vestibulum maximus rutrum arcu et sagittis.
我的问题是,我如何使我的文章内容看起来像下面想要的输出:
Pellentesque eget elit ***tag1***. Vivamus ut lacinia lectus. Mauris eu efficitur mi.
Duis placerat id risus ut aliquam. Vestibulum maximus rutrum arcu et sagittis.
***tag2*** id consequat dui. Suspendisse non imperdiet odio.
在文章内容中显示标签的名称(tag1
&tag2
)作为链接。链接将由某种查询字符串组成,当单击时,它会呈现到一个网页,该网页保存该标记的id记录(通过DataTable)。
我知道,这种方法需要我为标签的名称创建超链接,但我不太确定如何动态创建超链接(即将[tag1,tag2]的所有实例设置为超链接)。我需要在article的insert方法或我的aricle的getData()方法中创建这个任务吗?
如有任何帮助,我们将不胜感激。非常感谢
我有点不确定您是否希望通过文本框中可点击的链接来编辑文章。我假设不是,这是一个现有文章的视图页面。
如果是这种情况,有很多方法可以做到这一点,我个人建议使用HtmlGenericControl:
protected override void OnPreRender(EventArgs e)
{
var ctrl = new HtmlGenericControl("div");
string html = this.GetArticleText();
// create the html formatted HTML/Links taking into account anti-xss attacks
foreach(var tag in this.LoadAllTags())
{
html.Replace(tag.Key, this.CreateLinkHtml(tag);
}
ctrl.InnerHtml = html;
this.SomePageContainer.Controls.Add(ctrl);
base.OnPreRender(e);
}