ASP.NET 在运行时动态生成引导面板

Posted

技术标签:

【中文标题】ASP.NET 在运行时动态生成引导面板【英文标题】:ASP.NET dynamically generating bootsrap panels at runtime 【发布时间】:2015-01-09 12:03:50 【问题描述】:

我正在设计一个广告网站,其中每个产品都显示为 Bootstrap Tile,并在面板中显示名称、照片、费用。我想要的是,每当我加载页面时,ASP 会自动查询数据库以找出有多少产品,创建该数量的图块,并将相关名称、照片和成本放在每个面板中。

我怎样才能用 VB.net 做到这一点?

这是我的 html 面板:

     <div class="col-md-2">
      <div class="panel panel-default">
            <div class="panel-heading"><strong>Product ID</strong>, Product Name</div>
            <div class="panel-body">
                <a class="thumbnail">
                <img src="Photo.jpg"  /></a></div>

           <div class="panel-footer">
               ProductPrice
           </div>

【问题讨论】:

您在哪里遇到问题?显示您当前的代码、问题和所有内容,以尝试动态创建这些。并告诉我们失败的地方;错误等。 我是 ASP 的新手,所以我想知道如何处理它。我真的不知道该怎么做 【参考方案1】:

您应该使用asp ListView 或Repeater。它将为每个项目重复您的模板。

 <asp:ListView id="PanelList" runat="server">
        <ItemTemplate>
            <div class="col-md-2">
                <div class="panel panel-default">
                    <div class="panel-heading"><strong><%#Eval("PRODUCTID") %></strong>, <%#Eval("PRODUCTNAMEE") %></div>
                    <div class="panel-body">
                        <a class="thumbnail">
                            <img src='<%#Eval("PHOTO") %>' /></a>
                    </div>

                    <div class="panel-footer">
                       <%#Eval("PRODUCTPRICE") %>
                    </div>
        </ItemTemplate>
    </asp:ListView>

一旦从数据库中恢复,不要忘记在 CodeBehind 上为 ListView 控件分配 DataSource。

PanelList.DataSource = YourCollection;
PanelList.DataBind();

您的 eval 字段应与您的集合中可访问的属性或字段的名称相匹配。

【讨论】:

谢谢!像魅力一样工作! Listview和repeater有什么区别?另外,我怎样才能让它以 6 块为一组重复?如6个重复块、6个重复块等等?

以上是关于ASP.NET 在运行时动态生成引导面板的主要内容,如果未能解决你的问题,请参考以下文章

使用 ASP.NET Core OData 8.0 映射动态 OData 路由

c#语言asp.net实现treeview控件读数据库动态生成树的代码

Asp.Net 动态生成验证码

动态生成时引导选项卡不起作用

Asp.Net, VB, SQL Server Reporting Services..从目录中动态生成的报告要在单击时在报告查看器上查看?

在 ASP.NET MVC 中动态生成 Javascript、CSS