首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在datalist itemtemplate中显示datalist

如何在datalist itemtemplate中显示datalist
EN

Stack Overflow用户
提问于 2011-06-16 19:38:01
回答 2查看 1K关注 0票数 0

这是我在ASP.NET web表单项目中遇到的问题。

我有一个Datalist,它显示了数据库中的所有产品,每个产品都有一种或多种颜色。目前,我编写这样的查询是为了显示所有产品和该产品的默认照片,但不显示与该产品相关的颜色:

代码语言:javascript
复制
var query = from p in db.Products
                        from c in db.Pics
                        where c.ProductId == p.ProductId
                        where c.IsDefault == true
                        select new { p.ProductId, p.ProductType, p.Name, p.Number, p.Package, p.Model, p.Size, p.Material, p.MantoLengh, c.PicAddress};

            DataList1.DataSource = query;
            DataList1.DataBind();

我不知道如何将相关的颜色绑定到我的datalist控件中的列表控件(如DataList或其他列表控件),下面是我的数据库图表的视图,以了解更多信息:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-06-16 19:48:24

我认为这个查询可以工作,尽管我提前道歉,如果我的语法有一点问题,我更像是VB而不是C#…

代码语言:javascript
复制
        var query = from p in db.Products 
                    select new { p.ProductId, 
                        p.ProductType, 
                        p.Name, 
                        p.Number, 
                        p.Package, 
                        p.Model, 
                        p.Size, 
                        p.Material, 
                        p.MantoLengh, 
                        p.Pics.Where(x => x.IsDefault).Select(x => x.PicAddress).ToList(), 
                        p.Colors.Select(x => x.ColorHex).ToList() };

基本上,在您选择的匿名类型中,可以使用lambda使用Select().ToList()获取一对多集合,并使用.Where()执行过滤。

希望这能有所帮助。

编辑-对您的评论的回应:

我选择了十六进制的颜色字符串,因为它们看起来是创建实际颜色的最佳选择。要从十六进制中验证颜色,请参见this article。你想在列表的什么地方添加颜色?

票数 1
EN

Stack Overflow用户

发布于 2011-06-16 20:37:02

我相信在将结果绑定到数据列表之后,您应该能够在datalist $<%#query.DataItem("Colors")%>中执行以下操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6371200

复制
相关文章

相似问题

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