首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从asp.net c#中的数据库列中获取超链接列表

从asp.net c#中的数据库列中获取超链接列表
EN

Stack Overflow用户
提问于 2013-06-08 17:54:20
回答 1查看 1.5K关注 0票数 0

我有一个项目网站(报价网站)我有一个页面,所有的报价都显示收集。(屏幕截图如下)。我使用存储过程来显示此结果。

现在我的主要问题是:

如你所见,有一个用于标签的字段,例如:标签:生活,有趣,领导力,励志,友谊

但是这个值来自数据库的列类别。我使用一个标签来显示所有的类别。

但我想将其划分为单独的类别,并将用户重定向到他点击的特定类别。

有没有办法把这个标签分成多个超链接?

我的存储过程(以防any1需要)

代码语言:javascript
复制
ALTER Proc text_quotes
    (
    @cat varchar(50)
    )
as
begin
    select p.id,p.title,p.description,p.category,p.metadescp,p.metatitle,p.tags,f.img
    from tbl_upload_image p
    inner join tbl_author f
    on p.description = f.name
    where p.category like '%' + @cat + '%'
    order by p.upload_date desc
end

数据库中的示例条目:

id : 12

引用: dghjn

类别:生活,搞笑,领导力,励志,友谊

作者: Jim Carrey

更新:

我使用了下面的代码:

代码语言:javascript
复制
foreach (DataListItem item in DataList4.Items)
        {
            Repeater RepeaterQ = ((Repeater)(item.FindControl("Repeater1")));
            string categories = ((Label)(item.FindControl("categoryLabel"))).ToString();

            // Label lblCategory = ((Label)(DataList4.FindControl("categoryLabel")));
            string[] arr1 = categories.Split(',');

            RepeaterQ.DataSource = arr1;

            RepeaterQ.DataBind();
        }

但我在中继器中得到了"System.Web.UI.WebControls.Label“作为文本。有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-06-08 18:08:13

如果您将类别数据放在像categories这样的变量中,那么我想您是在为一个标签lblCategory赋值。

代码语言:javascript
复制
lblCategory.Text = categories;

如果你是这样做的,那么你可以试试这个。

代码语言:javascript
复制
lblCategory.Text = String.Join("", 
     categories.Split(new char[]{','}, StringSplitOptions.RemoveEmptyEntries) //Split Category csv to array of categories
    .Select(x=>String.Format("<a href='page.aspx?cat={0}'>{0}</a>"), x)) // return all categories with formatted anchor tag
    .ToArray() // Convert To Array
); //Join with empty string and assign to label text property

首先用逗号分割你的类别,然后使用. Linq扩展方法返回一个格式化的超链接,并连接这些链接并分配给标签。

或者你可以在那里使用中继器来绑定你的类别。

更新:

代码语言:javascript
复制
foreach (DataListItem item in DataList4.Items)
{
    Repeater RepeaterQ = ((Repeater)(item.FindControl("Repeater1")));
    //string categories = ((Label)(item.FindControl("categoryLabel"))).ToString();
    string categories = ((Label)(item.FindControl("categoryLabel"))).Text;
    string[] arr1 = categories.Split(',');
    RepeaterQ.DataSource = arr1;
    RepeaterQ.DataBind();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16998286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档