NewsList.aspx:
<body>
<form id="form1" runat="server">
<div>
<asp:Repeater ID="NewsListRepeater" runat="server"
onitemcommand="NewsListRepeater_ItemCommand">
<%--头部模板--%>
<HeaderTemplate>
<table>
<thead>
<tr>
<th>编号</th>
<th>新闻标题</th>
<th>新闻发布时间</th>
<th>操作</th>
</tr>
</thead>
<tbody id="tbData">
</HeaderTemplate>
<%-- 项目模板--%>
<ItemTemplate>
<tr>
<td><%# Eval("ID")%></td><td><%# Eval("title")%></td><td><%# Eval("Date")%></td><td><a href="Edit.aspx?id=<%# Eval("ID")%>">修改</a> <asp:Button CommandArgument='<%# Eval("ID") %>' CommandName="Delete" ID="btnDelete" runat="server"
Text="删除" />
</td>
</tr>
</ItemTemplate>
<%--间隔项--%>
<AlternatingItemTemplate>
<tr style="background-color:Aqua;">
<td><%# Eval("ID")%></td><td><%# Eval("title")%></td><td><%# Eval("Date")%></td><td><a href="Edit.aspx?id=<%# Eval("ID")%>">修改</a> <asp:Button CommandArgument='<%# Eval("ID") %>' CommandName="Delete" ID="btnDelete" runat="server" Text="删除" OnClientClick="return confirm('爷,你走了吗??')"/>
</td>
</tr>
</AlternatingItemTemplate>
<%-- 尾部模板--%>
<FooterTemplate>
</tbody>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:Literal ID="LiteralNavStr" runat="server"></asp:Literal>
</div>
</form>
</body>
NewsList.aspx.cs:
public partial class NewsList : System.Web.UI.Page
{
BLL.HKSJ_Main main = new BLL.HKSJ_Main();
protected void Page_Load(object sender, EventArgs e)
{
int pageSize = int.Parse(Request["pageSize"] ?? "10");
int pageIndex = int.Parse(Request["pageIndex"] ?? "1");
int total = main.GetRecordCount(string.Empty);
if (!IsPostBack)
{
var data = main.LoadPageMainByProc(pageSize,pageIndex,out total);
//var data = main.GetModelList(string.Empty);
this.NewsListRepeater.DataSource = data;//只是指定数据源还不行
this.NewsListRepeater.DataBind();//必须绑定
}
this.LiteralNavStr.Text = Common.LaomaPager.ShowPageNavigate(pageSize, pageIndex, total);
}
//Repeater控件里面的项只要任何一个触发了命令 那么就会执行此方法
protected void NewsListRepeater_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName=="Delete")//代表了点击了删除按钮
{
int id= int.Parse(e.CommandArgument.ToString());
main.Delete(id);
//页面里面数据变化 则要刷新页面
var data = main.GetModelList(string.Empty);
this.NewsListRepeater.DataSource = data;//只是指定数据源还不行
this.NewsListRepeater.DataBind();//必
}
}
}
Edit.aspx:
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>新闻标题</td>
<td>
<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>新闻发布人</td>
<td>
<asp:TextBox ID="txtPeople" runat="server"></asp:TextBox>
</td>
</tr>
</table>
<asp:Button ID="btnSave" runat="server" Text="保存" οnclick="btnSave_Click" />
</div>
</form>
</body>
Edit.aspx.cs:
public partial class Edit : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int id = int.Parse(Request["id"]??"0");
BLL.HKSJ_Main mainServer = new BLL.HKSJ_Main();
var data = mainServer.GetModel(id);
this.txtTitle.Text = data.title;
this.txtPeople.Text= data.people;
ViewState["NewsId"] = data.ID;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
int id =(int)ViewState["NewsId"];
BLL.HKSJ_Main mainServer = new BLL.HKSJ_Main();
var data = mainServer.GetModel(id);
data.people = this.txtPeople.Text;
data.title = this.txtTitle.Text;
mainServer.Update(data);
Response.Redirect("NewsList.aspx");
}
}