内容:增加,编辑,删除,排序,分页。
.aspx
1<%@ Page Title="" Language="C#" MasterPageFile="~/Mail/MailMasterPage.master" AutoEventWireup="true"
2 CodeBehind="MailContacts.aspx.cs" Inherits="Dftr.Web.Mail.MailContacts" %>
3<asp:Content ID="Content1" ContentPlaceHolderID="CPH_Center" runat="server">
4 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
5 <ContentTemplate>
6 <asp:UpdateProgress ID="UpdateProgress1" runat="server">
7 <ProgressTemplate>
8 <div class="loading">
9 Loading</div>
10 </ProgressTemplate>
11 </asp:UpdateProgress>
12 <asp:ListView ID="ListView1" runat="server" DataKeyNames="Id"
13 InsertItemPosition="LastItem"
14 ConvertEmptyStringToNull="False"
15 OnItemInserting="ListView1_ItemInserting"
16 OnItemCanceling="ListView1_ItemCanceling"
17 OnItemDeleting="ListView1_ItemDeleting"
18 OnItemEditing="ListView1_ItemEditing"
19 OnItemUpdating="ListView1_ItemUpdating"
20 OnSorting="ListView1_Sorting"
21 OnPagePropertiesChanging="ListView1_PagePropertiesChanging">
22 <ItemTemplate>
23 <tr style="">
24 <td>
25 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
26 </td>
27 <td>
28 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
29 </td>
30 <td>
31 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
32 </td>
33 <td>
34 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
35 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
36 </td>
37 </tr>
38 </ItemTemplate>
39 <AlternatingItemTemplate>
40 <tr style="">
41 <td>
42 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
43 </td>
44 <td>
45 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
46 </td>
47 <td>
48 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
49 </td>
50 <td>
51 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
52 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
53 </td>
54 </tr>
55 </AlternatingItemTemplate>
56 <EmptyDataTemplate>
57 <table runat="server" style="">
58 <tr>
59 <td>
60 未返回数据。
61 </td>
62 </tr>
63 </table>
64 </EmptyDataTemplate>
65 <InsertItemTemplate>
66 <tr style="">
67 <td>
68 <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
69 </td>
70 <td>
71 <asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
72 </td>
73 <td>
74 <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' />
75 </td>
76 <td>
77 <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" />
78 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
79 </td>
80 </tr>
81 </InsertItemTemplate>
82 <LayoutTemplate>
83 <table runat="server" style="width: 100%">
84 <tr runat="server">
85 <td runat="server">
86 <table id="itemPlaceholderContainer" runat="server" border="0" style="">
87 <tr runat="server" style="">
88 <th runat="server">
89 <asp:LinkButton ID="SortName" runat="server" Text="姓名" CommandName="Sort" CommandArgument="Name" />
90 <asp:Image ID="NameImage" runat="server" Visible="false" />
91 </th>
92 <th runat="server">
93 <asp:LinkButton ID="SortEmail" runat="server" Text="Email" CommandName="Sort" CommandArgument="Email" />
94 <asp:Image ID="EmailImage" runat="server" Visible="false" />
95 </th>
96 <th runat="server">
97 <asp:LinkButton ID="SortDescription" runat="server" Text="描述" CommandName="Sort"
98 CommandArgument="Description" />
99 <asp:Image ID="DescriptionImage" runat="server" Visible="false" />
100 </th>
101 </tr>
102 <tr id="itemPlaceholder" runat="server">
103 </tr>
104 </table>
105 </td>
106 </tr>
107 </table>
108 </LayoutTemplate>
109 <EditItemTemplate>
110 <tr style="">
111 <td>
112 <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
113 </td>
114 <td>
115 <asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
116 </td>
117 <td>
118 <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' />
119 </td>
120 <td>
121 <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
122 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
123 </td>
124 </tr>
125 </EditItemTemplate>
126 <SelectedItemTemplate>
127 <tr style="">
128 <td>
129 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
130 </td>
131 <td>
132 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
133 </td>
134 <td>
135 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
136 </td>
137 <td>
138 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
139 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
140 </td>
141 </tr>
142 </SelectedItemTemplate>
143 </asp:ListView>
144 <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
145 <Fields>
146 <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="False"
147 ShowPreviousPageButton="False" />
148 <asp:NumericPagerField />
149 <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False"
150 ShowPreviousPageButton="False" />
151 </Fields>
152 </asp:DataPager>
153 </ContentTemplate>
154 </asp:UpdatePanel>
155</asp:Content>
156
1<%@ Page Title="" Language="C#" MasterPageFile="~/Mail/MailMasterPage.master" AutoEventWireup="true"
2 CodeBehind="MailContacts.aspx.cs" Inherits="Dftr.Web.Mail.MailContacts" %>
3<asp:Content ID="Content1" ContentPlaceHolderID="CPH_Center" runat="server">
4 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
5 <ContentTemplate>
6 <asp:UpdateProgress ID="UpdateProgress1" runat="server">
7 <ProgressTemplate>
8 <div class="loading">
9 Loading</div>
10 </ProgressTemplate>
11 </asp:UpdateProgress>
12 <asp:ListView ID="ListView1" runat="server" DataKeyNames="Id"
13 InsertItemPosition="LastItem"
14 ConvertEmptyStringToNull="False"
15 OnItemInserting="ListView1_ItemInserting"
16 OnItemCanceling="ListView1_ItemCanceling"
17 OnItemDeleting="ListView1_ItemDeleting"
18 OnItemEditing="ListView1_ItemEditing"
19 OnItemUpdating="ListView1_ItemUpdating"
20 OnSorting="ListView1_Sorting"
21 OnPagePropertiesChanging="ListView1_PagePropertiesChanging">
22 <ItemTemplate>
23 <tr style="">
24 <td>
25 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
26 </td>
27 <td>
28 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
29 </td>
30 <td>
31 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
32 </td>
33 <td>
34 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
35 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
36 </td>
37 </tr>
38 </ItemTemplate>
39 <AlternatingItemTemplate>
40 <tr style="">
41 <td>
42 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
43 </td>
44 <td>
45 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
46 </td>
47 <td>
48 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
49 </td>
50 <td>
51 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
52 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
53 </td>
54 </tr>
55 </AlternatingItemTemplate>
56 <EmptyDataTemplate>
57 <table runat="server" style="">
58 <tr>
59 <td>
60 未返回数据。
61 </td>
62 </tr>
63 </table>
64 </EmptyDataTemplate>
65 <InsertItemTemplate>
66 <tr style="">
67 <td>
68 <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
69 </td>
70 <td>
71 <asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
72 </td>
73 <td>
74 <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' />
75 </td>
76 <td>
77 <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="插入" />
78 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="清除" />
79 </td>
80 </tr>
81 </InsertItemTemplate>
82 <LayoutTemplate>
83 <table runat="server" style="width: 100%">
84 <tr runat="server">
85 <td runat="server">
86 <table id="itemPlaceholderContainer" runat="server" border="0" style="">
87 <tr runat="server" style="">
88 <th runat="server">
89 <asp:LinkButton ID="SortName" runat="server" Text="姓名" CommandName="Sort" CommandArgument="Name" />
90 <asp:Image ID="NameImage" runat="server" Visible="false" />
91 </th>
92 <th runat="server">
93 <asp:LinkButton ID="SortEmail" runat="server" Text="Email" CommandName="Sort" CommandArgument="Email" />
94 <asp:Image ID="EmailImage" runat="server" Visible="false" />
95 </th>
96 <th runat="server">
97 <asp:LinkButton ID="SortDescription" runat="server" Text="描述" CommandName="Sort"
98 CommandArgument="Description" />
99 <asp:Image ID="DescriptionImage" runat="server" Visible="false" />
100 </th>
101 </tr>
102 <tr id="itemPlaceholder" runat="server">
103 </tr>
104 </table>
105 </td>
106 </tr>
107 </table>
108 </LayoutTemplate>
109 <EditItemTemplate>
110 <tr style="">
111 <td>
112 <asp:TextBox ID="NameTextBox" runat="server" Text='<%# Bind("Name") %>' />
113 </td>
114 <td>
115 <asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
116 </td>
117 <td>
118 <asp:TextBox ID="DescriptionTextBox" runat="server" Text='<%# Bind("Description") %>' />
119 </td>
120 <td>
121 <asp:Button ID="UpdateButton" runat="server" CommandName="Update" Text="更新" />
122 <asp:Button ID="CancelButton" runat="server" CommandName="Cancel" Text="取消" />
123 </td>
124 </tr>
125 </EditItemTemplate>
126 <SelectedItemTemplate>
127 <tr style="">
128 <td>
129 <asp:Label ID="NameLabel" runat="server" Text='<%# Eval("Name") %>' />
130 </td>
131 <td>
132 <asp:Label ID="EmailLabel" runat="server" Text='<%# Eval("Email") %>' />
133 </td>
134 <td>
135 <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("Description") %>' />
136 </td>
137 <td>
138 <asp:Button ID="DeleteButton" runat="server" CommandName="Delete" Text="删除" />
139 <asp:Button ID="EditButton" runat="server" CommandName="Edit" Text="编辑" />
140 </td>
141 </tr>
142 </SelectedItemTemplate>
143 </asp:ListView>
144 <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
145 <Fields>
146 <asp:NextPreviousPagerField ButtonType="Button" ShowFirstPageButton="True" ShowNextPageButton="False"
147 ShowPreviousPageButton="False" />
148 <asp:NumericPagerField />
149 <asp:NextPreviousPagerField ButtonType="Button" ShowLastPageButton="True" ShowNextPageButton="False"
150 ShowPreviousPageButton="False" />
151 </Fields>
152 </asp:DataPager>
153 </ContentTemplate>
154 </asp:UpdatePanel>
155</asp:Content>
156
.aspx.cs
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Web;
5using System.Web.UI;
6using System.Web.UI.WebControls;
7using System.Data;
8using Dftr.Mail;
9using Dftr.Entity.Mail;
10
11namespace Dftr.Web.Mail
12{
13 public partial class MailContacts : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17 if (!IsPostBack)
18 {
19 ListViewBind();
20 }
21 }
22
23 void ListViewBind()
24 {
25 DataTable dt = BLLMailContacts.GetList("TestName");
26 DataView dv = dt.DefaultView;
27 if (ViewState["SortColumn"] != null)
28 {
29 dv.Sort = ViewState["SortColumn"].ToString() + " " + ViewState["SortDirection"].ToString();
30 }
31 ListView1.DataSource = dv;
32 ListView1.DataBind();
33 }
34
35 protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
36 {
37 MailContactsEntity ent = new MailContactsEntity();
38 ent.Name = (ListView1.InsertItem.FindControl("NameTextBox") as TextBox).Text;
39 ent.Email = (ListView1.InsertItem.FindControl("EmailTextBox") as TextBox).Text;
40 ent.Description = (ListView1.InsertItem.FindControl("DescriptionTextBox") as TextBox).Text;
41 ent.UserName = "TestName";
42
43 if (BLLMailContacts.Add(ent) > 0)
44 {
45 ListViewBind();
46 UpdatePanel1.Update();
47 }
48 else
49 {
50 e.Cancel = true;
51 }
52 }
53
54 protected void ListView1_ItemEditing(object sender, ListViewEditEventArgs e)
55 {
56 ListView1.EditIndex = e.NewEditIndex;
57 ListViewBind();
58 }
59
60 protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
61 {
62 MailContactsEntity ent = new MailContactsEntity();
63 ent.Id = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString());
64 ent.Name = (ListView1.Items[e.ItemIndex].FindControl("NameTextBox") as TextBox).Text;
65 ent.Email = (ListView1.Items[e.ItemIndex].FindControl("EmailTextBox") as TextBox).Text;
66 ent.Description = (ListView1.Items[e.ItemIndex].FindControl("DescriptionTextBox") as TextBox).Text;
67 ent.UserName = "TestName";
68
69 if (BLLMailContacts.Update(ent) > 0)
70 {
71 ListView1.EditIndex = -1;
72 ListViewBind();
73 UpdatePanel1.Update();
74 }
75 else
76 {
77 e.Cancel = true;
78 throw new Exception("未更新");
79 }
80 }
81
82 protected void ListView1_ItemCanceling(object sender, ListViewCancelEventArgs e)
83 {
84 ListView1.EditIndex = -1;
85 ListViewBind();
86 }
87
88 protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e)
89 {
90 if (BLLMailContacts.Remove(int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString())) > 0)
91 {
92 ListViewBind();
93 UpdatePanel1.Update();
94 }
95 else
96 {
97 e.Cancel = true;
98 throw new Exception("未删除");
99 }
100 }
101
102 protected void ListView1_Sorting(object sender, ListViewSortEventArgs e)
103 {
104 //隐藏所有列的图片
105 ListView1.FindControl("NameImage").Visible = false;
106 ListView1.FindControl("EmailImage").Visible = false;
107 ListView1.FindControl("DescriptionImage").Visible = false;
108
109
110 ViewState["SortColumn"] = e.SortExpression;
111 if (ViewState["SortDirection"] != null)
112 {
113 if (ViewState["SortDirection"].ToString() == "ASC")
114 {
115 ViewState["SortDirection"] = "DESC";
116
117 (ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image") as Image).ImageUrl = "~/img/arrow_down.gif";
118 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
119 }
120 else
121 {
122 ViewState["SortDirection"] = "ASC";
123
124 (ListView1.FindControl(ViewState["SortColumn"] .ToString()+ "Image") as Image).ImageUrl = "~/img/arrow_top.gif";
125 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
126 }
127 }
128 else
129 {
130 ViewState["SortDirection"] = "ASC";
131
132 (ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image") as Image).ImageUrl = "~/img/arrow_top.gif";
133 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
134 }
135
136 ListViewBind();
137 UpdatePanel1.Update();
138 }
139
140 protected void ListView1_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
141 {
142 DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
143 ListViewBind();
144 UpdatePanel1.Update();
145 }
146
147 }
148}
149
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Web;
5using System.Web.UI;
6using System.Web.UI.WebControls;
7using System.Data;
8using Dftr.Mail;
9using Dftr.Entity.Mail;
10
11namespace Dftr.Web.Mail
12{
13 public partial class MailContacts : System.Web.UI.Page
14 {
15 protected void Page_Load(object sender, EventArgs e)
16 {
17 if (!IsPostBack)
18 {
19 ListViewBind();
20 }
21 }
22
23 void ListViewBind()
24 {
25 DataTable dt = BLLMailContacts.GetList("TestName");
26 DataView dv = dt.DefaultView;
27 if (ViewState["SortColumn"] != null)
28 {
29 dv.Sort = ViewState["SortColumn"].ToString() + " " + ViewState["SortDirection"].ToString();
30 }
31 ListView1.DataSource = dv;
32 ListView1.DataBind();
33 }
34
35 protected void ListView1_ItemInserting(object sender, ListViewInsertEventArgs e)
36 {
37 MailContactsEntity ent = new MailContactsEntity();
38 ent.Name = (ListView1.InsertItem.FindControl("NameTextBox") as TextBox).Text;
39 ent.Email = (ListView1.InsertItem.FindControl("EmailTextBox") as TextBox).Text;
40 ent.Description = (ListView1.InsertItem.FindControl("DescriptionTextBox") as TextBox).Text;
41 ent.UserName = "TestName";
42
43 if (BLLMailContacts.Add(ent) > 0)
44 {
45 ListViewBind();
46 UpdatePanel1.Update();
47 }
48 else
49 {
50 e.Cancel = true;
51 }
52 }
53
54 protected void ListView1_ItemEditing(object sender, ListViewEditEventArgs e)
55 {
56 ListView1.EditIndex = e.NewEditIndex;
57 ListViewBind();
58 }
59
60 protected void ListView1_ItemUpdating(object sender, ListViewUpdateEventArgs e)
61 {
62 MailContactsEntity ent = new MailContactsEntity();
63 ent.Id = int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString());
64 ent.Name = (ListView1.Items[e.ItemIndex].FindControl("NameTextBox") as TextBox).Text;
65 ent.Email = (ListView1.Items[e.ItemIndex].FindControl("EmailTextBox") as TextBox).Text;
66 ent.Description = (ListView1.Items[e.ItemIndex].FindControl("DescriptionTextBox") as TextBox).Text;
67 ent.UserName = "TestName";
68
69 if (BLLMailContacts.Update(ent) > 0)
70 {
71 ListView1.EditIndex = -1;
72 ListViewBind();
73 UpdatePanel1.Update();
74 }
75 else
76 {
77 e.Cancel = true;
78 throw new Exception("未更新");
79 }
80 }
81
82 protected void ListView1_ItemCanceling(object sender, ListViewCancelEventArgs e)
83 {
84 ListView1.EditIndex = -1;
85 ListViewBind();
86 }
87
88 protected void ListView1_ItemDeleting(object sender, ListViewDeleteEventArgs e)
89 {
90 if (BLLMailContacts.Remove(int.Parse(ListView1.DataKeys[e.ItemIndex].Value.ToString())) > 0)
91 {
92 ListViewBind();
93 UpdatePanel1.Update();
94 }
95 else
96 {
97 e.Cancel = true;
98 throw new Exception("未删除");
99 }
100 }
101
102 protected void ListView1_Sorting(object sender, ListViewSortEventArgs e)
103 {
104 //隐藏所有列的图片
105 ListView1.FindControl("NameImage").Visible = false;
106 ListView1.FindControl("EmailImage").Visible = false;
107 ListView1.FindControl("DescriptionImage").Visible = false;
108
109
110 ViewState["SortColumn"] = e.SortExpression;
111 if (ViewState["SortDirection"] != null)
112 {
113 if (ViewState["SortDirection"].ToString() == "ASC")
114 {
115 ViewState["SortDirection"] = "DESC";
116
117 (ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image") as Image).ImageUrl = "~/img/arrow_down.gif";
118 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
119 }
120 else
121 {
122 ViewState["SortDirection"] = "ASC";
123
124 (ListView1.FindControl(ViewState["SortColumn"] .ToString()+ "Image") as Image).ImageUrl = "~/img/arrow_top.gif";
125 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
126 }
127 }
128 else
129 {
130 ViewState["SortDirection"] = "ASC";
131
132 (ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image") as Image).ImageUrl = "~/img/arrow_top.gif";
133 ListView1.FindControl(ViewState["SortColumn"].ToString() + "Image").Visible = true;
134 }
135
136 ListViewBind();
137 UpdatePanel1.Update();
138 }
139
140 protected void ListView1_PagePropertiesChanging(object sender, PagePropertiesChangingEventArgs e)
141 {
142 DataPager1.SetPageProperties(e.StartRowIndex, e.MaximumRows, false);
143 ListViewBind();
144 UpdatePanel1.Update();
145 }
146
147 }
148}
149