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

现在我的主要问题是:
如你所见,有一个用于标签的字段,例如:标签:生活,有趣,领导力,励志,友谊
但是这个值来自数据库的列类别。我使用一个标签来显示所有的类别。
但我想将其划分为单独的类别,并将用户重定向到他点击的特定类别。
有没有办法把这个标签分成多个超链接?
我的存储过程(以防any1需要)
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
更新:
我使用了下面的代码:
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“作为文本。有什么帮助吗?
发布于 2013-06-08 18:08:13
如果您将类别数据放在像categories这样的变量中,那么我想您是在为一个标签lblCategory赋值。
lblCategory.Text = categories;如果你是这样做的,那么你可以试试这个。
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扩展方法返回一个格式化的超链接,并连接这些链接并分配给标签。
或者你可以在那里使用中继器来绑定你的类别。
更新:
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();
}https://stackoverflow.com/questions/16998286
复制相似问题