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"); } }
时间: 2024-10-26 03:55:03