温馨提示:代码在线浏览功能只能做为源码浏览参考,如果想更进一步了解该代码请下载:MyWebPages51aspx汉化最终版
当前文件:
MyWebPagesStarterKit/Administration/Sections.aspx.cs,打开代码结构图
MyWebPagesStarterKit/Administration/Sections.aspx.cs,打开代码结构图1//=============================================================================================== 2
// 3
// (c) Copyright Microsoft Corporation. 4
// This source is subject to the Microsoft Permissive License. 5
// See http://www.microsoft.com/resources/sharedsource/licensingbasics/sharedsourcelicenses.mspx. 6
// All other rights reserved. 7
// 8
//=============================================================================================== 9
10
using System; 11
using System.Data; 12
using System.Configuration; 13
using System.Collections; 14
using System.Web; 15
using System.Web.Security; 16
using System.Web.UI; 17
using System.Web.UI.WebControls; 18
using System.Web.UI.WebControls.WebParts; 19
using System.Web.UI.HtmlControls; 20
using MyWebPagesStarterKit; 21
using MyWebPagesStarterKit.Controls; 22
23
public partial class Administration_Sections : PageBaseClass 24
{ 25
Properties 72
protected void Page_Load(object sender, EventArgs e) 73
{ 74
if (!User.IsInRole(RoleNames.Administrators.ToString())) 75
Response.Redirect("Login.aspx"); 76
77
Response.Expires = 0; 78
Response.ExpiresAbsolute = DateTime.Now.AddMinutes(-1.0); 79
Response.CacheControl = "private"; 80
Response.Cache.SetCacheability(HttpCacheability.NoCache); 81
82
if (!IsPostBack) 83
{ 84
populateLists(SiteMap.RootNode, 0); 85
btnMove.Visible = false; 86
lstTargetPage.Visible = false; 87
lstPageSections.Visible = false; 88
thSection.Visible = false; 89
thTargetPage.Visible = false; 90
} 91
} 92
93
private void populateLists(SiteMapNode parentNode, int level) 94
{ 95
WebSite website = WebSite.GetInstance(); 96
if (level == 0) 97
{ 98
lstSourcePage.Items.Clear(); 99
lstTargetPage.Items.Clear(); 100
} 101
foreach (SiteMapNode node in parentNode.ChildNodes) 102
{ 103
if (node["pageId"] != null) 104
{ 105
string title = node.Title; 106
for (int i = 0; i < level; i++) 107
title = "..." + title; 108
if (node["visible"] == false.ToString()) 109
title += " (invisible)"; 110
if (node["pageId"] == website.HomepageId) 111
title += " (Homepage)"; 112
lstSourcePage.Items.Add(new ListItem(title, node["pageId"])); 113
lstTargetPage.Items.Add(new ListItem(title, node["pageId"])); 114
populateLists(node, level + 1); 115
} 116
} 117
} 118
119
protected void lstSourcePage_SelectedIndexChanged(object sender, EventArgs e) 120
{ 121
// Update target listbox to exclude the source page 122
// Update section listbox 123
WebPage page = new WebPage(((ListBox)sender).SelectedValue); 124
SourcePageId = page.PageId; 125
SectionLoader loader = SectionLoader.GetInstance(); 126
127
lstPageSections.Items.Clear(); 128
foreach (string id in page.SectionIds) 129
{ 130
ISection s = loader.LoadSection(id); 131
lstPageSections.Items.Add(new ListItem(s.GetType().Name, id)); 132
} 133
134
// remote this page from the target page list 135
lstTargetPage.Items.Remove(lstSourcePage.SelectedItem); 136
137
lstPageSections.Visible = true; 138
thSection.Visible = true; 139
140
} 141
142
protected void lstPageSections_SelectedIndexChanged(object sender, EventArgs e) 143
{ 144
// Remember Section ID 145
SelectedSectionId = ((ListBox)sender).SelectedValue; 146
lstTargetPage.Visible = true; 147
thTargetPage.Visible = true; 148
} 149
150
protected void lstTargetPage_SelectedIndexChanged(object sender, EventArgs e) 151
{ 152
WebPage page = new WebPage(((ListBox)sender).SelectedValue); 153
TargetPageId = page.PageId; 154
//enable the move button 155
btnMove.Visible= true; 156
157
} 158
159
protected void btnMoveSection_Click(object sender, EventArgs e) 160
{ 161
162
WebPage source = new WebPage(SourcePageId); 163
WebPage target = new WebPage(TargetPageId); 164
165
source.RemoveSection(SelectedSectionId); 166
target.AddSection(SelectedSectionId); 167
168
populateLists(SiteMap.RootNode, 0); 169
170
} 171
} 172





}
}