Webform Repeater 显示主外键关系的两个表,参考代码

第一种方法,给car增加属性

    public decimal Price
        {
            get { return _Price; }
            set { _Price = value; }
        }
        public string Pic
        {
            get { return _Pic; }
            set {_Pic = value; }
        }
        //在这里给汽车表增加一个属性
        public string Brandname
        {
            get {
                //通过汽车表里的系列编号系列查询一个系列名称
                BrandData data = new BrandDA().Select(_Brand);
                return data.BrandName;
            }
            set { }
        }

aspx里的代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table>
                    <tr>
                         <td>编号</td>
                        <td>名称</td>
                        <td>系列</td>
                        <td>时间</td>
                        <td>油耗</td>
                        <td>动力</td>
                        <td>排量</td>
                        <td>价格</td>
                        <td>图片</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                        <td><%#Eval("Code") %></td>
                        <td><%#Eval("Name") %></td>
                        <td><%#Eval("Brandname") %></td>   <%--在这里改一下属性的名字,就可以实现把系列编号变成系列名称--%>
                        <td><%#Eval("Time") %></td>
                        <td><%#Eval("Oil") %></td>
                        <td><%#Eval("Powers")%></td>
                        <td><%#Eval("Exhaust") %></td>
                       <td><%#Eval("Price") %></td>
                       <td><%#Eval("Pic") %></td>
                            </tr>
            </ItemTemplate>
            <FooterTemplate>
                <table/>
            </FooterTemplate>
        </asp:Repeater>
    </div>
    </form>
</body>
</html>


第二种方法,用ItemdataBount事件,aspx.cs的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DA;

public partial class 第二种方法 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            bindreperter();
        }
    }
    public void bindreperter()
    {
        Repeater1.DataSource = new CarDA().Select();
        Repeater1.DataBind();
    }

    //ItemdataBount是项绑定事件,Repeater1里的Heater,Foot里索引值都是-1
    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {

        //if条件是排除表头那一行
        if (e.Item.ItemIndex > -1)
        {
            Literal lt = (Literal)e.Item.FindControl("Literal1");
//找到控件            lt.Text = new BrandDA().Select(lt.Text).BrandName;
        }

    }
}


aspx里的代码

     <tr>
                        <td><%#Eval("Code") %></td>
                        <td><%#Eval("Name") %></td>
                        <td>
                           <%-- //把原来在表格显示的值放在一个Literal里,也同样可以显示,用这个方法可以把系列号改为系列名称--%>
                            <asp:Literal ID="Literal1" runat="server" Text='<%#Eval("Brand") %>'></asp:Literal></td>   
                        <td><%#Eval("Time") %></td>
                        <td><%#Eval("Oil") %></td>
                        <td><%#Eval("Powers")%></td>
                        <td><%#Eval("Exhaust") %></td>
                       <td><%#Eval("Price") %></td>
                       <td><%#Eval("Pic") %></td>
                            </tr>

 

转载于:https://www.cnblogs.com/275147378abc/p/4682841.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值