码迷,mamicode.com
首页 > Web开发 > 详细

B/S----Repeater控件

时间:2015-05-30 10:40:19      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:

Repeater
Repeater是使用模板来设计界面的。它有五个模板:HeaderTemplate,FooterTemplate,ItemTemplate,AlternatingItemTemplate,SeperatorTempate

简单的数据显示思路:
1.在HTML界面中使用模板来设计展显的界面。
2.在C#界面中,查询数据,绑定显示。

步骤:
1.把Repeater拖到界面上。
做界面
2.使用DW做好界面。
3.把DW做好界面,拆开贴到Repeater不同的模板上去。
4.使用<%# Eval("列名/属性名")%>
做代码:
5.在C#代码中查询数据
6.把查询出来的数据,绑定到Repeater中显示。

用C#代码控制界面上显示:
1.在C#代码写函数。空参,返回字符串,public
2.在HTML的Repeater模板中,调用上面的方法。

 

一个综合练习:人员,家庭,民族,工作表。

技术分享

技术分享

代码:

主表”Default5.aspx“

<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Repeater ID="Repeater1" runat="server">
            <HeaderTemplate>
                <table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="black">
                    <tr align="center" bgcolor="navy" style="color:white;font-weight:bold;">
                        <td width="10%">代号</td>
                        <td width="15%">姓名</td>
                        <td width="15%">性别</td>
                        <td width="15%">民族</td>
                        <td width="20%">生日</td>
                        <td width="15">操作</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                    <tr align="center" bgcolor="white" <%# showbgcolor() %>>
                        <td><%#Eval("Code") %></td>
                        <td><%# Eval("Name") %></td>
                        <td><%# Sexstring() %></td>
                        <td><%# Nationname() %></td>
                        <td><%# Birthdaystring() %></td>
                        <td>
                            <a href="Edit.aspx?id=<%# Eval("Code") %>" style="color:blue;">修改</a>
                            <a href="delete.aspx?id=<%# Eval("Code")%>" onclick="return confirm(‘确定要删除嘛?‘)" style="color:blue;">删除</a>
                        </td>
                    </tr>
            </ItemTemplate>
            <FooterTemplate>
                 </table>
            </FooterTemplate>

        </asp:Repeater>
    
    </div>
    </form>
</body>

主表”Default5.aspx.cs“
public partial class Default5 : System.Web.UI.Page
{
    public string Birthdaystring()
    { 
        string shengri=Convert.ToDateTime(Eval("Birthday")).ToString("yyyy年MM月dd日");
        return shengri;
    }
    public string Nationname()
    { 
        //先取了当前人员的民族代号
        NationData da = new NationDA().Select(Eval("Nation").ToString());
        if (da!=null)
        {
            return da.Name;
        }
        else
        {
            return "<空>";
        }
        
    }
    public string Sexstring()
    {
        //取人员性别数据
        bool xingbie = Convert.ToBoolean(Eval("Sex"));
        //变成字符串返回去
        bool sex = Convert.ToBoolean(Eval("Sex"));
        string pic = (sex == true) ? "boy.png" : "girl.png";
        string img = "<img src=‘image/"+pic+"‘height=‘18‘>";
        return img;
    }
    private void Fillinfo()
    {
        List<InfoData> list = new InfoDA().Select();
        Repeater1.DataSource = list;
        Repeater1.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Fillinfo(); 
        }
    }
    public string showbgcolor()
    {
        //首先找出汉族的code值
        string nationcode=Eval("Nation").ToString();
        //然后判断汉族如何,其他少数民族如何
        if (nationcode=="n001")
        {
            return "";
        }
        else
        {
            return "style=‘background-color:#ffff99;font-weight:bold;‘";
        }

    }
}

 修改人员信息表”Edit.aspx.cs“

public partial class update : System.Web.UI.Page
{
    private void LoadInfo()
    {
        //把传过来的人员代号取出来
        string code = Request["id"].ToString();
        //查出当前人员的信息
        InfoData data = new InfoDA().Select(code);
        if (data!=null)
        {
            //把查出来的数据放到页面显示出来
            lblCode.Text = data.Code;
            txtName.Text = data.Name;
            rblSex.SelectedIndex = (data.Sex == true) ? 0 : 1;
            ddlNation.SelectedValue = data.Nation;
            txtBirthday.Text = data.Birthday.ToString("yyyy-MM-dd");
        }
    }
    private void FillNation()
    {
        List<NationData> list = new NationDA().Select();
        ddlNation.DataSource = list;
        ddlNation.DataTextField = "Name";
        ddlNation.DataValueField = "Code";
        ddlNation.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //把民族下拉列表填进数据中去
            FillNation();
            //装载当前人员的原有信息
            LoadInfo();
        }
    }
    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        //取界面上的数据
        InfoData data = new InfoData();
        data.Code = lblCode.Text;
        data.Name = txtName.Text;
        data.Sex = Convert.ToBoolean(rblSex.SelectedValue);
       // data.Sex = ( rblSex.Text == "男" )? true : false;
        data.Nation = ddlNation.SelectedValue;
        data.Birthday = Convert.ToDateTime(txtBirthday.Text);
        //填到数据库中去
        new InfoDA().Update(data);
        //返回表格显示界面
        Response.Redirect("Default5.aspx");
    }
}

 删除人员”delete.aspx.cs“

 protected void Page_Load(object sender, EventArgs e)
    {
        //取得要删除人员的代号
        string code = Request["id"].ToString();
        //执行删除
        FamilyDA.DeleteByInfoCode(code);
        WorkDA.DeleteByInfoCode(code);
        InfoDA.Delete(code);
        //返回列表
        Response.Redirect("Default5.aspx");
    }
}

 

 

B/S----Repeater控件

标签:

原文地址:http://www.cnblogs.com/likaixuan/p/4539870.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!