标签:
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");
}
}
标签:
原文地址:http://www.cnblogs.com/likaixuan/p/4539870.html