從零開始編寫自己的C#框架(22)——添加普通列表頁面


  普通列表頁面指的是上一章那種有層次感列表以外的正常列表頁面,由於上一章已講解了正常添加頁面的相關操作了,所以部分相關的操作本章節就不再羅嗦重復一次了。大家可以試試先用本章內容中的一些簡單介紹,自己使用上一章下載的解決方案來實現一下,做做練習。

 

  首先還是打開數據字典,創建廣告內容表

  在這里要說明一下的是,大家在對數據字典進行操作后(增、改、刪),一定要在數據字典中的“版本”工作表中添加更新歷史,以方便后面的維護人員查看(一定要養成一種良好的開發習慣),如下圖

 

  然后還是使用ExcelToSQLString2.91_sql.exe工具生成SQL語句,並在數據庫中創建數據表,下面是生成好的SQL語句,請在數據庫查詢分析表中執行

  1 /****** Object:  Table [dbo].[Advertisement]    Script Date: 2014/7/9 17:07:11  ******/
  2 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Advertisement]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
  3 drop table [dbo].[Advertisement]
  4 GO
  5 
  6 /****** Object:  Table [dbo].[Advertisement]    Script Date: 2014/7/9 17:07:11   ******/
  7 CREATE TABLE [dbo].[Advertisement] (
  8   [Id] [int] IDENTITY (1, 1) NOT NULL,
  9   [Name] [nvarchar] (50) NOT NULL,
 10   [Content] [nvarchar] (100) NOT NULL,
 11   [Url] [nvarchar] (200) NOT NULL,
 12   [Keyword] [nvarchar] (50) NOT NULL,
 13   [AdvertisingPosition_Id] [int] NOT NULL,
 14   [AdvertisingPosition_Name] [nvarchar] (20) NOT NULL,
 15   [AdImg] [nvarchar] (250) NOT NULL,
 16   [ShowRate] [int] NOT NULL,
 17   [StartTime] [datetime] NOT NULL,
 18   [EndTime] [datetime] NOT NULL,
 19   [IsDisplay] [tinyint] NOT NULL,
 20   [HitCount] [int] NOT NULL,
 21   [Sort] [int] NOT NULL,
 22   [Manager_Id] [int] NOT NULL,
 23   [Manager_CName] [nvarchar] (20) NOT NULL,
 24   [UpdateDate] [datetime] NOT NULL
 25 ) ON [PRIMARY]
 26 GO
 27 
 28 ALTER TABLE [dbo].[Advertisement] WITH NOCHECK ADD
 29   CONSTRAINT [PK_Advertisement] PRIMARY KEY  CLUSTERED
 30 (
 31  [Id]
 32 )  ON [PRIMARY]
 33 GO
 34 
 35 ALTER TABLE [dbo].[Advertisement] ADD
 36   CONSTRAINT [DF_Advertisement_Name] DEFAULT ('') FOR [Name],
 37   CONSTRAINT [DF_Advertisement_Content] DEFAULT ('') FOR [Content],
 38   CONSTRAINT [DF_Advertisement_Url] DEFAULT ('') FOR [Url],
 39   CONSTRAINT [DF_Advertisement_Keyword] DEFAULT ('') FOR [Keyword],
 40   CONSTRAINT [DF_Advertisement_AdvertisingPosition_Id] DEFAULT (0) FOR [AdvertisingPosition_Id],
 41   CONSTRAINT [DF_Advertisement_AdvertisingPosition_Name] DEFAULT ('') FOR [AdvertisingPosition_Name],
 42   CONSTRAINT [DF_Advertisement_AdImg] DEFAULT ('') FOR [AdImg],
 43   CONSTRAINT [DF_Advertisement_ShowRate] DEFAULT (0) FOR [ShowRate],
 44   CONSTRAINT [DF_Advertisement_StartTime] DEFAULT (getdate()) FOR [StartTime],
 45   CONSTRAINT [DF_Advertisement_EndTime] DEFAULT (getdate()) FOR [EndTime],
 46   CONSTRAINT [DF_Advertisement_IsDisplay] DEFAULT (0) FOR [IsDisplay],
 47   CONSTRAINT [DF_Advertisement_HitCount] DEFAULT (0) FOR [HitCount],
 48   CONSTRAINT [DF_Advertisement_Sort] DEFAULT (0) FOR [Sort],
 49   CONSTRAINT [DF_Advertisement_Manager_Id] DEFAULT (0) FOR [Manager_Id],
 50   CONSTRAINT [DF_Advertisement_Manager_CName] DEFAULT ('') FOR [Manager_CName],
 51   CONSTRAINT [DF_Advertisement_UpdateDate] DEFAULT (getdate()) FOR [UpdateDate] 
 52 GO
 53 
 54 CREATE  INDEX [IX_Advertisement__Name] ON [dbo].[Advertisement]([Name]) ON [PRIMARY]
 55 GO
 56 
 57 CREATE  INDEX [IX_Advertisement__Keyword] ON [dbo].[Advertisement]([Keyword]) ON [PRIMARY]
 58 GO
 59 
 60 CREATE  INDEX [IX_Advertisement__AdvertisingPosition_Id] ON [dbo].[Advertisement]([AdvertisingPosition_Id]) ON [PRIMARY]
 61 GO
 62 
 63 CREATE  INDEX [IX_Advertisement__StartTime] ON [dbo].[Advertisement]([StartTime]) ON [PRIMARY]
 64 GO
 65 
 66 CREATE  INDEX [IX_Advertisement__EndTime] ON [dbo].[Advertisement]([EndTime]) ON [PRIMARY]
 67 GO
 68 
 69 CREATE  INDEX [IX_Advertisement__IsDisplay] ON [dbo].[Advertisement]([IsDisplay]) ON [PRIMARY]
 70 GO
 71 
 72 CREATE  INDEX [IX_Advertisement__Sort] ON [dbo].[Advertisement]([Sort]) ON [PRIMARY]
 73 GO
 74 
 75 exec sp_addextendedproperty N'MS_Description', N'主鍵Id', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Id'
 76 GO
 77 
 78 exec sp_addextendedproperty N'MS_Description', N'標題', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Name'
 79 GO
 80 
 81 exec sp_addextendedproperty N'MS_Description', N'備注', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Content'
 82 GO
 83 
 84 exec sp_addextendedproperty N'MS_Description', N'鏈接Url', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Url'
 85 GO
 86 
 87 exec sp_addextendedproperty N'MS_Description', N'關鍵字,只能由字母數字組成,主要用於模板標簽 {%ad-InfoKey%}', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Keyword'
 88 GO
 89 
 90 exec sp_addextendedproperty N'MS_Description', N'廣告位置Id', N'user', N'dbo', N'table', N'Advertisement', N'column', N'AdvertisingPosition_Id'
 91 GO
 92 
 93 exec sp_addextendedproperty N'MS_Description', N'廣告位置名稱', N'user', N'dbo', N'table', N'Advertisement', N'column', N'AdvertisingPosition_Name'
 94 GO
 95 
 96 exec sp_addextendedproperty N'MS_Description', N'圖片', N'user', N'dbo', N'table', N'Advertisement', N'column', N'AdImg'
 97 GO
 98 
 99 exec sp_addextendedproperty N'MS_Description', N'顯示頻率(同一個位置有多個廣告時,這里用來計算它隨機出現的頻率)', N'user', N'dbo', N'table', N'Advertisement', N'column', N'ShowRate'
100 GO
101 
102 exec sp_addextendedproperty N'MS_Description', N'開始時間', N'user', N'dbo', N'table', N'Advertisement', N'column', N'StartTime'
103 GO
104 
105 exec sp_addextendedproperty N'MS_Description', N'結束時間', N'user', N'dbo', N'table', N'Advertisement', N'column', N'EndTime'
106 GO
107 
108 exec sp_addextendedproperty N'MS_Description', N'審核, 0=False,1=True,', N'user', N'dbo', N'table', N'Advertisement', N'column', N'IsDisplay'
109 GO
110 
111 exec sp_addextendedproperty N'MS_Description', N'點擊數', N'user', N'dbo', N'table', N'Advertisement', N'column', N'HitCount'
112 GO
113 
114 exec sp_addextendedproperty N'MS_Description', N'排序', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Sort'
115 GO
116 
117 exec sp_addextendedproperty N'MS_Description', N'修改人員id', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Manager_Id'
118 GO
119 
120 exec sp_addextendedproperty N'MS_Description', N'修改人員姓名', N'user', N'dbo', N'table', N'Advertisement', N'column', N'Manager_CName'
121 GO
122 
123 exec sp_addextendedproperty N'MS_Description', N'修改時間', N'user', N'dbo', N'table', N'Advertisement', N'column', N'UpdateDate'
124 GO
View Code

 

  跟着打開VS,找到數據層與邏輯層的SubSonic文件夾,選擇模板並點擊右鍵,找到“運行自定義工具”,點擊重新運行生成相關的模板類

 

  打開Informations文件夾,將InformationList.aspx與InformationEdit.aspx復制到Advertisements(上一章廣告文件夾命名錯了,我將AdvertisingPositions重新修改為Advertisements)文件夾中

  將它們修改名稱為AdvertisementList.aspx與AdvertisementEdit.aspx

  然后將頁面中的“Information”替換成“Advertisement”,“信息”替換為“廣告”。

 

   下面是改好的AdvertisementList.aspx頁面代碼

  1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AdvertisementList.aspx.cs" Inherits="Solution.Web.Managers.WebManage.Advertisements.AdvertisementList" %>
  2 <%@ Import Namespace="DotNet.Utilities" %>
  3 
  4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5 <html xmlns="http://www.w3.org/1999/xhtml">
  6 <head id="Head1" runat="server">
  7     <title>廣告列表</title>
  8 </head>
  9 <body>
 10     <form id="form1" runat="server">
 11     <f:pagemanager id="PageManager1" runat="server" />
 12     <f:panel id="Panel1" runat="server" title="廣告列表" enableframe="false" bodypadding="10px"
 13         enablecollapse="True">
 14         <toolbars>
 15             <f:Toolbar ID="toolBar" runat="server">
 16                 <Items>
 17                     <f:Button ID="ButtonRefresh" runat="server" Text="刷新" Icon="ArrowRefresh" OnClick="ButtonRefresh_Click" CssClass="inline"></f:Button>
 18                     <f:Button ID="ButtonSearch" runat="server" Text="查詢" Icon="Magnifier" OnClick="ButtonSearch_Click"></f:Button>
 19                     <f:Button ID="ButtonAdd" runat="server" Text="添加" Icon="Add" OnClick="ButtonAdd_Click"></f:Button>
 20                     <f:Button ID="ButtonSaveAutoSort" runat="server" Text="自動排序" Icon="ArrowJoin" OnClick="ButtonSaveAutoSort_Click" ConfirmTitle="自動排序提示" ConfirmText="是否對所有數據進行自動排序?"></f:Button>
 21                     <f:Button ID="ButtonSaveSort" runat="server" Text="保存排序" Icon="Disk" OnClick="ButtonSaveSort_Click"></f:Button>
 22                     <f:Button ID="ButtonDelete" runat="server" Text="刪除" Icon="Delete" OnClick="ButtonDelete_Click" ConfirmTitle="刪除提示" ConfirmText="是否刪除記錄?" 
 23                         OnClientClick="if (!F('Panel1_Grid1').getSelectionModel().hasSelection() ) { F.alert('請選擇你想要刪除的記錄!'); return false; } ">
 24                     </f:Button>
 25                 </Items>
 26             </f:Toolbar>
 27         </toolbars>
 28         <items>
 29             <f:Form ID="Form6" ShowBorder="True" BodyPadding="5px" ShowHeader="False" runat="server">
 30                 <Rows>
 31                     <f:FormRow ID="FormRow1" runat="server">
 32                         <Items>
 33                             <f:TextBox runat="server" ID="txtName" Label="廣告名稱" Width="260px" Text="" MaxLength="20"  />
 34                             <f:TextBox runat="server" ID="txtKeyword" Label="Key" Width="260px" Text="" MaxLength="20"  />
 35                             <f:DropDownList CompareType="String" Label="廣告位置" EnableSimulateTree="true" runat="server" ID="dllAdvertisingPosition" Width="260px" />
 36                         </Items>
 37                     </f:FormRow>
 38                     <f:FormRow ID="FormRow3" runat="server">
 39                         <Items>
 40                             <f:DatePicker runat="server" Label="查詢日期" ID="dpStart" DateFormatString="yyyy-M-d HH:mm:ss" Width="260px" EmptyText="查詢指定日期廣告" />
 41                             <f:DropDownList CompareType="String" Label="審批狀態"
 42                                 runat="server" ID="ddlIsDisplay" Width="260px" >
 43                                 <f:ListItem Text="==全部==" Value="" />
 44                                 <f:ListItem Text="已審批" Value="1" />
 45                                 <f:ListItem Text="未審批" Value="0" />
 46                             </f:DropDownList>
 47                             <f:Label runat="server"></f:Label>
 48                         </Items>
 49                     </f:FormRow>
 50                 </Rows>
 51             </f:Form>
 52             <f:Grid ID="Grid1" Title="廣告列表" EnableFrame="false" EnableCollapse="true" AllowSorting="true" IsDatabasePaging="True"
 53             PageSize="15" ShowBorder="true" ShowHeader="False" AllowPaging="true" runat="server" EnableCheckBoxSelect="True" DataKeyNames="Id" EnableColumnLines="true"
 54             OnPageIndexChange="Grid1_PageIndexChange" OnPreRowDataBound="Grid1_PreRowDataBound" OnRowCommand="Grid1_RowCommand" OnSort="Grid1_Sort">
 55                 <Columns>
 56                     <f:TemplateField RenderAsRowExpander="true">
 57                         <ItemTemplate>
 58                             <div class="expander">
 59                                 <table width="800px">
 60                                     <tr>
 61                                         <td rowspan="4" style="width: 200px;">
 62                                             <%# Eval("AdImg").ToString().Length > 5 ? "<a href='" + Eval("AdImg") + "' target=\"_blank\"><img src='" + DirFileHelper.GetFilePathPostfix(Eval("AdImg").ToString(), "s") + "'></a>" : ""%>
 63                                         </td>
 64                                     </tr>
 65                                     <tr>
 66                                         <td style="width: 200px;padding-top: 10px;">
 67                                             <strong>修改人員:</strong><%# Eval("Manager_CName")%>
 68                                         </td>
 69                                         <td style="padding-top: 10px;">
 70                                             <strong>修改時間:</strong><%# Eval("UpdateDate")%>
 71                                         </td>
 72                                     </tr>
 73                                     <tr>
 74                                         <td colspan="3" style="padding-top: 10px;">
 75                                             <strong>鏈接URL:</strong><a href="<%# Eval("Url")%>" target="_blank"><%# Eval("Url")%></a>
 76                                         </td>
 77                                     </tr>
 78                                     <tr>
 79                                         <td colspan="3" style="padding-top: 10px;">
 80                                             <strong>備注:</strong><%# Eval("Content")%>
 81                                         </td>
 82                                     </tr>
 83                                 </table>
 84                             </div>
 85                         </ItemTemplate>
 86                     </f:TemplateField>
 87                     <f:BoundField DataField="Id" SortField="Id" HeaderText="Id" Width="50px" />
 88                     <f:BoundField DataField="Name" SortField="[Name]" HeaderText="廣告標題" Width="150px" />
 89                     <f:BoundField DataField="AdvertisingPosition_Name" SortField="AdvertisingPosition_Id" HeaderText="廣告位置" Width="150px" />
 90                     <f:BoundField DataField="Keyword" SortField="Keyword" HeaderText="廣告Key" Width="100px" />
 91                     <f:BoundField DataField="ShowRate" SortField="ShowRate" HeaderText="顯示頻率" Width="80px" />
 92                     <f:BoundField DataField="HitCount" SortField="HitCount" HeaderText="點擊數" Width="60px" />
 93                     <f:BoundField DataField="StartTime" SortField="StartTime" HeaderText="開始時間" Width="130px" />
 94                     <f:BoundField DataField="EndTime" SortField="EndTime" HeaderText="結束時間" Width="130px" />
 95                     <f:TemplateField HeaderText="排序" Width="100px">
 96                         <ItemTemplate>
 97                             <asp:TextBox ID="TextBox1" runat="server" Width="50px" Text='<%# Eval("Sort") %>' AutoPostBack="false"></asp:TextBox>
 98                         </ItemTemplate>
 99                     </f:TemplateField>
100                     <f:LinkButtonField ColumnID="IsDisplay" SortField="IsDisplay" HeaderText="審核" TextAlign="Center" CommandName="IsDisplay" Width="40px"  />
101                     <f:LinkButtonField Width="100px" HeaderText="操作" TextAlign="Center" ToolTip="點擊修改當前記錄" ColumnID="ButtonEdit" CommandName="ButtonEdit" />
102                 </Columns>
103             </f:Grid>
104             <f:Label runat="server" ID="lblSpendingTime" Text=""></f:Label>
105             <f:HiddenField runat="server" ID="SortColumn" Text="Id"></f:HiddenField>
106         </items>
107     </f:panel>
108     <f:window id="Window1" width="680px" height="350px" icon="TagBlue" title="編輯" hidden="True"
109         enablemaximize="True" closeaction="HidePostBack" onclose="Window1_Close" enablecollapse="true"
110         runat="server" enableresize="true" bodypadding="5px" enableframe="True" iframeurl="about:blank"
111         enableiframe="true" enableclose="true" plain="false" ismodal="True" enableconfirmonclose="True">
112     </f:window>
113     </form>
114 </body>
115 </html>
View Code

 

 

  我們可以看到,AdvertisementList.aspx頁面代碼主要分為三個部分

 

  <toolbars>標簽中存放的是頁面頂部按鈕

  

  放在這里時,<f:Toolbar ID="toolBar" runat="server">這個標簽的Id一定要命名為toolBar,不然程序就不會對這些按鈕權限自動進行判斷了

  這是一個按鈕標簽:<f:Button ID="ButtonExportReport" runat="server" Text="導出報表" Icon="Add" OnClick="ButtonExportReport_Click"></f:Button>

  在進行權限綁定時,程序綁定的是ButtonExportReport這個字符串,當我們添加的新按鈕名稱頁面控件權限管理那里不存在,則需要開發人員手動進行添加,添加的中文名稱用於顯示,而英文名稱則用於綁定按鈕ID。

  

  比如將上面“導出報表”添加到工具欄中,顯示的效果如下圖(當前管理員帳號未賦“導出報表”按鈕權限,所以為禁用狀態,不能點擊):

  當然cs代碼中要添加

1         /// <summary>
2         /// 報表導出按鈕點擊事件
3         /// </summary>
4         /// <param name="sender"></param>
5         /// <param name="e"></param>
6         protected void ButtonExportReport_Click(object sender, EventArgs e)
7         {
8             
9         }

  

  

  頁面中<f:Form>標簽內存放的是列表條件查詢控件

  

  這里大家根據需要進行添加即可

 

  而<f:Grid>標簽中存放的則是數據庫中查詢出來的列表內容了

  

  在這里講解一下常用的Grid標簽屬性

屬性名稱 說明
ID 控件Id,默認為Grid1
Title 列表標題
ShowHeader 是否顯示標題
ShowBorder 是否顯示表格外邊框
EnableFrame 表格外邊框是否加粗
AllowSorting 是否允許排序
IsDatabasePaging 是否使用數據庫分頁(否的話不分頁查詢出來)
PageSize 每頁顯示記錄數量
AllowPaging 是否允許分頁
EnableCheckBoxSelect 每行記錄前是否顯示選擇框
DataKeyNames 主鍵字段名稱,這里可以設置多個字段,提交后會將這些字段的所有值都傳到程序中,提供給程序調用
EnableColumnLines 為每一列繪制線條
OnPageIndexChange 列表翻頁點擊事件
OnPreRowDataBound 列表加載綁定事件
OnRowCommand 列表記錄點擊事件
OnSort 列表排序點擊事件(點擊列表頂部名稱時進行排序)

  列表內,最常見的行標簽就是<f:BoundField DataField="Id" SortField="Id" HeaderText="Id列" Width="50px" />

   DataField是用來綁定數據表字段的,將字段內容顯示出來;SortField綁定排序字段;HeaderText是列表頂部顯示的標題;Width是列寬。這幾個是最常見的屬性。如果用你的字段為關鍵字時,可以這樣處理<f:BoundField DataField="[key]" SortField="[key]" HeaderText="Id列" Width="50px" />,為字段加上中括號。

 

   另外還有兩個隱藏標簽

  <f:Label runat="server" ID="lblSpendingTime" Text=""></f:Label>
      <f:HiddenField runat="server" ID="SortColumn" Text="Id"></f:HiddenField>

   前者用來顯示列表數據查詢時所使用的時間

  

  后者是用在多個分頁時,點擊編輯修改某條記錄后,關閉窗口會刷新列表頁面,而這時如果沒有這個隱藏控件保存排序字段的話,那么刷新列表后所顯示的內容排序可能就會同編輯之前的內容排序不一樣,而導致相關管理人員在手動編輯大量數據時需要花費多余時間查找未編輯的記錄,而不能順着列表記錄逐個進行。

 

 

  下面是改好的AdvertisementList.aspx.cs頁面代碼

  1 using System;
  2 using System.Collections.Generic;
  3 using DotNet.Utilities;
  4 using FineUI;
  5 using Solution.DataAccess.DataModel;
  6 using Solution.DataAccess.DbHelper;
  7 using Solution.Logic.Managers;
  8 using Solution.Web.Managers.WebManage.Application;
  9 /***********************************************************************
 10  *   作    者:AllEmpty(陳煥)-- 1654937@qq.com
 11  *   博    客:http://www.cnblogs.com/EmptyFS/
 12  *   技 術 群:327360708
 13  *  
 14  *   創建日期:2014-07-09
 15  *   文件名稱:AdvertisementList.aspx.cs
 16  *   描    述:廣告列表管理
 17  *             
 18  *   修 改 人:
 19  *   修改日期:
 20  *   修改原因:
 21  ***********************************************************************/
 22 using SubSonic.Query;
 23 
 24 namespace Solution.Web.Managers.WebManage.Advertisements
 25 {
 26     public partial class AdvertisementList : PageBase
 27     {
 28         #region Page_Load
 29         protected void Page_Load(object sender, EventArgs e)
 30         {
 31             if (!IsPostBack)
 32             {
 33                 //綁定下拉列表
 34                 AdvertisingPositionBll.GetInstence().BandDropDownListShowAll(this, dllAdvertisingPosition);
 35 
 36                 LoadData();
 37             }
 38         }
 39         #endregion
 40 
 41         #region 接口函數,用於UI頁面初始化,給邏輯層對象、列表等對象賦值
 42         public override void Init()
 43         {
 44             //邏輯對象賦值
 45             bll = AdvertisementBll.GetInstence();
 46             //表格對象賦值
 47             grid = Grid1;
 48         }
 49         #endregion
 50 
 51         #region 加載數據
 52         /// <summary>讀取數據</summary>
 53         public override void LoadData()
 54         {
 55             //設置排序
 56             if (sortList == null)
 57             {
 58                 Sort(null);
 59             }
 60 
 61             //綁定Grid表格
 62             bll.BindGrid(Grid1, Grid1.PageIndex + 1, Grid1.PageSize, InquiryCondition(), sortList);
 63         }
 64 
 65         /// <summary>
 66         /// 查詢條件
 67         /// </summary>
 68         /// <returns></returns>
 69         private List<ConditionHelper.SqlqueryCondition> InquiryCondition()
 70         {
 71             var wheres = new List<ConditionHelper.SqlqueryCondition>();
 72 
 73 
 74             //起始時間
 75             if (!string.IsNullOrEmpty(dpStart.Text.Trim()))
 76             {
 77                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.StartTime, Comparison.LessOrEquals, StringHelper.FilterSql(dpStart.Text)));
 78                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.EndTime, Comparison.GreaterOrEquals, StringHelper.FilterSql(dpStart.Text)));
 79             }
 80             //廣告位置
 81             if (dllAdvertisingPosition.SelectedValue != "0")
 82             {
 83                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.AdvertisingPosition_Id, Comparison.Equals,
 84                     StringHelper.FilterSql(dllAdvertisingPosition.SelectedValue)));
 85             }
 86             //是否審批
 87             if (ddlIsDisplay.SelectedValue != "")
 88             {
 89                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.IsDisplay, Comparison.Equals,
 90                     StringHelper.FilterSql(ddlIsDisplay.SelectedValue)));
 91             }
 92             //廣告名稱
 93             if (!string.IsNullOrEmpty(txtName.Text.Trim()))
 94             {
 95                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.Name,
 96                     Comparison.Like, "%" + StringHelper.FilterSql(txtName.Text) + "%"));
 97             }
 98             //Keyword
 99             if (!string.IsNullOrEmpty(txtKeyword.Text.Trim()))
100             {
101                 wheres.Add(new ConditionHelper.SqlqueryCondition(ConstraintType.And, AdvertisementTable.Keyword, Comparison.Like,
102                     "%" + StringHelper.FilterSql(txtKeyword.Text) + "%"));
103             }
104 
105             return wheres;
106         }
107         #endregion
108         
109         #region 列表屬性綁定
110 
111         #region 列表按鍵綁定——修改列表控件屬性
112         /// <summary>
113         /// 列表按鍵綁定——修改列表控件屬性
114         /// </summary>
115         /// <param name="sender"></param>
116         /// <param name="e"></param>
117         protected void Grid1_PreRowDataBound(object sender, FineUI.GridPreRowEventArgs e)
118         {
119             //綁定是否顯示
120             GridRow gr = Grid1.Rows[e.RowIndex];
121             //判斷當前行IsDisplay字段值是否為0
122             if (((System.Data.DataRowView)(gr.DataItem)).Row.Table.Rows[e.RowIndex][AdvertisementTable.IsDisplay].ToString() == "0")
123             {
124                 //查找名稱為IsDisplay的列
125                 var lbf = Grid1.FindColumn("IsDisplay") as LinkButtonField;
126                 //修改圖標
127                 lbf.Icon = Icon.BulletCross;
128                 //設置參數值
129                 lbf.CommandArgument = "1";
130             }
131             else
132             {
133                 var lbf = Grid1.FindColumn("IsDisplay") as LinkButtonField;
134                 lbf.Icon = Icon.BulletTick;
135                 lbf.CommandArgument = "0";
136             }
137 
138             //綁定是否編輯列
139             var lbfEdit = Grid1.FindColumn("ButtonEdit") as LinkButtonField;
140             lbfEdit.Text = "編輯";
141             lbfEdit.Enabled = MenuInfoBll.GetInstence().CheckControlPower(this, "ButtonEdit");
142         }
143         #endregion
144 
145         #region Grid點擊事件
146         /// <summary> 
147         /// Grid點擊事件
148         /// </summary>
149         /// <param name="sender"></param>
150         /// <param name="e"></param>
151         protected void Grid1_RowCommand(object sender, FineUI.GridCommandEventArgs e)
152         {
153             GridRow gr = Grid1.Rows[e.RowIndex];
154             //獲取當前點擊列的主鍵ID
155             object id = gr.DataKeys[0];
156 
157             switch (e.CommandName)
158             {
159                 case "IsDisplay":
160                     //更新狀態
161                     AdvertisementBll.GetInstence().UpdateIsDisplay(this, ConvertHelper.Cint0(id), ConvertHelper.Cint0(e.CommandArgument));
162                     //重新加載
163                     LoadData();
164 
165                     break;
166 
167                 case "ButtonEdit":
168                     //打開編輯窗口
169                     Window1.IFrameUrl = "AdvertisementEdit.aspx?Id=" + id + "&" + MenuInfoBll.GetInstence().PageUrlEncryptStringNoKey(id + "");
170                     Window1.Hidden = false;
171 
172                     break;
173             }
174         }
175         #endregion
176 
177         #region 保存自動排序
178         /// <summary>
179         /// 保存自動排序
180         /// </summary>
181         public override void SaveAutoSort()
182         {
183             if (bll.UpdateAutoSort(this))
184             {
185                 Alert.ShowInParent("保存成功", "保存自動排序成功", "window.location.reload();");
186             }
187             else
188             {
189                 Alert.ShowInParent("保存失敗", "保存自動排序失敗");
190             }
191         }
192         #endregion
193 
194         #endregion
195 
196         #region 添加新記錄
197         /// <summary>
198         /// 添加新記錄
199         /// </summary>
200         public override void Add()
201         {
202             Window1.IFrameUrl = "AdvertisementEdit.aspx?" + MenuInfoBll.GetInstence().PageUrlEncryptString();
203             Window1.Hidden = false;
204         }
205         #endregion
206 
207         #region 刪除記錄
208         /// <summary>
209         /// 刪除記錄
210         /// </summary>
211         /// <returns></returns>
212         public override string Delete()
213         {
214             //獲取要刪除的Id組
215             var id = GridViewHelper.GetSelectedKeyArray(Grid1);
216             
217             //如果沒有選擇記錄,則直接退出
218             if (id == null)
219             {
220                 return "請選擇要刪除的記錄。";
221             }
222 
223             try
224             {
225                 //逐個刪除對應圖片
226                 foreach (var i in id)
227                 {
228                     //刪除廣告圖片
229                     AdvertisementBll.GetInstence().DelAdImg(this, i);
230                 }
231 
232                 //刪除記錄
233                 bll.Delete(this, id);
234 
235                 return "刪除編號Id為[" + string.Join(",", id) + "]的數據記錄成功。";
236             }
237             catch (Exception e)
238             {
239                 string result = "嘗試刪除編號ID為[" + string.Join(",", id) +"]的數據記錄失敗!";
240 
241                 //出現異常,保存出錯日志廣告
242                 CommonBll.WriteLog(result, e);
243 
244                 return result;
245             }
246         }
247         #endregion
248 
249     }
250 }
View Code

 

   在cs頁面代碼的加載數據函數中,綁定Grid表格用的是bll.BindGrid(Grid1, Grid1.PageIndex + 1, Grid1.PageSize, InquiryCondition(), sortList)這個函數。我們在模板中生成的綁定表格函數共有兩種類型,一種是有層次感列表綁定,一種是普通列表綁定。當前這種普通列表綁定,需要傳遞表格控件名稱、當前頁碼、每頁顯示記錄數量、查詢條件和排序這幾個參數,而對於查詢條件如果添加使用,前面章節已有比較詳細的說明,大家也可以參考一下上面的cs代碼來使用。

  剛剛發現InformationList.aspx.cs頁面忘了加查詢條件了,就做為作業,大家自己嘗試去添加一下吧。

 

  在列表屬性綁定時,由於廣告表有排序字段,但沒有父Id存在,即它不是多級別分類記錄,所以在實現自動排序時,使用父類默認的自動排序函數是不行的,我們需要重寫該函數,具體如下:UpdateAutoSort()函數有很多參數,但大部分都有默認值,按照默認值,我們只需要傳當前頁面針指進去就可以了,具體實現大家請自己查看該函數。

 1         #region 保存自動排序
 2         /// <summary>
 3         /// 保存自動排序
 4         /// </summary>
 5         public override void SaveAutoSort()
 6         {
 7             if (bll.UpdateAutoSort(this))
 8             {
 9                 Alert.ShowInParent("保存成功", "保存自動排序成功", "window.location.reload();");
10             }
11             else
12             {
13                 Alert.ShowInParent("保存失敗", "保存自動排序失敗");
14             }
15         }
16         #endregion

 

  由於廣告管理會上傳廣告圖片,所以執行刪除時需要先將運行圖片刪除函數(AdvertisementBll.GetInstence().DelAdImg(this, i)),再刪除廣告記錄。

 

  其他的cs頁面代碼同上一章差不多,所以不再詳細說明。

 

 

  我們本章已添加了廣告頁面,所以上一章注釋的刪除判斷與更新廣告位置名稱時,同步更新廣告表對應名稱的功能要啟用。

  AdvertisingPositionList.aspx.cs頁面

  

 

  刪除前判斷當前廣告位置記錄是否已給廣告記錄使用了,是的話必須刪除相關廣告后才能刪除廣告位置記錄。

 

 

  AdvertisingPositionEdit.aspx.cs頁面 

  廣告位置記錄編輯時,如果廣告位置名稱有修改,這里就會同步執行修改廣告表里對應的廣告位置名稱。這里所調用的函數也是模板生成好的函數。

 

   

   AdvertisementEdit.aspx頁面代碼

 1 <%@ Page Language="C#" ValidateRequest="false" AutoEventWireup="true" CodeBehind="AdvertisementEdit.aspx.cs"
 2     Inherits="Solution.Web.Managers.WebManage.Advertisements.AdvertisementEdit" %>
 3 
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head id="Head1" runat="server">
 7     <title>廣告編輯</title>
 8 </head>
 9 <body>
10     <form id="form1" runat="server">
11     <f:HiddenField runat="server" ID="hidId" Text="0">
12     </f:HiddenField>
13     <f:PageManager ID="PageManager1" runat="server" />
14     <f:Panel ID="Panel1" runat="server" EnableFrame="false" BodyPadding="10px" EnableCollapse="True"
15         ShowHeader="False">
16         <Toolbars>
17             <f:Toolbar ID="toolBar" runat="server">
18                 <Items>
19                     <f:Button ID="ButtonSave" runat="server" Text="保存" Icon="Disk" OnClick="ButtonSave_Click">
20                     </f:Button>
21                     <f:Button ID="ButtonDeleteImage" runat="server" Text="刪除圖片" Icon="Delete" OnClick="ButtonDeleteImage_Click"
22                         ConfirmTitle="刪除提示" ConfirmText="是否刪除圖片?" />
23                 </Items>
24             </f:Toolbar>
25         </Toolbars>
26         <Items>
27             <f:Panel ID="Panel2" runat="server" EnableFrame="false" BodyPadding="5px" EnableCollapse="True"
28                 ShowHeader="False" ShowBorder="False">
29                 <Items>
30                     <f:Form ID="extForm1" ShowBorder="false" ShowHeader="false" BodyPadding="5px" runat="server">
31                         <Rows>
32                             <f:FormRow ID="FormRow1" runat="server">
33                                 <Items>
34                                     <f:TextBox runat="server" ID="txtName" Label="廣告名稱" Width="300px" Text="" ShowRedStar="true"
35                                         MaxLength="50" />
36                                     <f:TextBox runat="server" ID="txtKeyword" Label="Key(非中文)" Width="300px" Text=""
37                                         MaxLength="50" Readonly="True" />
38                                 </Items>
39                             </f:FormRow>
40                             <f:FormRow ID="FormRow2" runat="server">
41                                 <Items>
42                                     <f:DropDownList Label="廣告位置" AutoPostBack="true" CompareType="String" EnableSimulateTree="true"
43                                         runat="server" ID="ddlAdvertisingPosition" Width="300px" ShowRedStar="true" OnSelectedIndexChanged="ddlAdvertisingPosition_SelectedIndexChanged">
44                                     </f:DropDownList>
45                                     <f:RadioButtonList ID="rblIsDisplay" Label="是否審核" ColumnNumber="2" runat="server"
46                                         Width="300px">
47                                         <f:RadioItem Text="顯示" Value="1" Selected="true" />
48                                         <f:RadioItem Text="不顯示" Value="0" />
49                                     </f:RadioButtonList>
50                                 </Items>
51                             </f:FormRow>
52                             <f:FormRow ID="FormRow4" runat="server">
53                                 <Items>
54                                     <f:DatePicker ID="dpStartTime" Label="開始時間" Width="300px" Required="true" runat="server"
55                                         ShowRedStar="true" />
56                                     <f:DatePicker ID="dpEndTime" Label="結束時間" Width="300px" Required="true" runat="server"
57                                         ShowRedStar="true" />
58                                 </Items>
59                             </f:FormRow>
60                             <f:FormRow ID="FormRow11" runat="server">
61                                 <Items>
62                                     <f:TextBox runat="server" ID="txtUrl" Label="廣告鏈接地址" Width="610px" Text="" MaxLength="200" />
63                                 </Items>
64                             </f:FormRow>
65                             <f:FormRow ID="FormRow3" runat="server">
66                                 <Items>
67                                     <f:TextArea runat="server" Label="說明" ID="txtContent" Width="610px" MaxLength="100"
68                                         Height="50px">
69                                     </f:TextArea>
70                                 </Items>
71                             </f:FormRow>
72                             <f:FormRow ID="FormRow10" runat="server">
73                                 <Items>
74                                     <f:FileUpload runat="server" ID="filePhoto" Label="廣告圖片" Width="300px" />
75                                     <f:TextBox runat="server" ID="txtSort" Label="排序" Width="300px" Text="0" />
76                                 </Items>
77                             </f:FormRow>
78                             <f:FormRow ID="ShowImage" runat="server">
79                                 <Items>
80                                     <f:ContentPanel ID="ContentPanel3" runat="server" Width="90%" ShowBorder="false"
81                                         ShowHeader="false">
82                                         <%=(p_Img != null && p_Img.Length > 5) ? "<a href='" + p_Img + "' target=\"_blank\"><img src='" + p_Img + "'></a>" : ""%>
83                                     </f:ContentPanel>
84                                 </Items>
85                             </f:FormRow>
86                         </Rows>
87                     </f:Form>
88                 </Items>
89             </f:Panel>
90         </Items>
91     </f:Panel>
92     </form>
93 </body>
94 </html>
View Code

   AdvertisementEdit.aspx頁面主要分為兩個部分,一個是工具欄,同列表頁面差不多;另一個是內容編輯控件,具體怎么排版大家自己根據需要來設置,大家看看標簽屬性的英文就知道是什么功能了,當然也可以進入FineUI官網查看在線示例,里面有很多排版介紹與調用的源代碼例子。

 

 

   AdvertisementEdit.aspx.cs頁面代碼

  1 using System;
  2 using DotNet.Utilities;
  3 using Solution.DataAccess.DataModel;
  4 using Solution.Logic.Managers;
  5 using Solution.Web.Managers.WebManage.Application;
  6 
  7 /***********************************************************************
  8  *   作    者:AllEmpty(陳煥)-- 1654937@qq.com
  9  *   博    客:http://www.cnblogs.com/EmptyFS/
 10  *   技 術 群:327360708
 11  *  
 12  *   創建日期:2014-07-10
 13  *   文件名稱:AdvertisementEdit.aspx.cs
 14  *   描    述:廣告編輯頁面
 15  *             
 16  *   修 改 人:
 17  *   修改日期:
 18  *   修改原因:
 19  ***********************************************************************/
 20 namespace Solution.Web.Managers.WebManage.Advertisements
 21 {
 22     public partial class AdvertisementEdit : PageBase
 23     {
 24         protected string RndKey = RandomHelper.GetRndKey();
 25         protected string p_Img = "";
 26 
 27         #region Page_Load
 28         protected void Page_Load(object sender, EventArgs e)
 29         {
 30             if (!IsPostBack)
 31             {
 32                 //獲取ID值
 33                 hidId.Text = RequestHelper.GetInt0("Id") + "";
 34                 //廣告位置下拉框
 35                 AdvertisingPositionBll.GetInstence().BandDropDownListShowAll(this, ddlAdvertisingPosition);
 36 
 37                 //加載數據
 38                 LoadData();
 39             }
 40         }
 41         #endregion
 42 
 43         #region 接口函數,用於UI頁面初始化,給邏輯層對象、列表等對象賦值
 44         public override void Init()
 45         {
 46 
 47         }
 48         #endregion
 49 
 50         #region 加載數據
 51         /// <summary>讀取數據</summary>
 52         public override void LoadData()
 53         {
 54             //讀取當前編輯的廣告Id
 55             int id = ConvertHelper.Cint0(hidId.Text);
 56 
 57             if (id != 0)
 58             {
 59                 //獲取指定Id的廣告記錄實體
 60                 var model = AdvertisementBll.GetInstence().GetModelForCache(x => x.Id == id);
 61                 if (model == null)
 62                     return;
 63 
 64                 //對頁面窗體進行賦值
 65                 //廣告名稱
 66                 txtName.Text = model.Name;
 67                 //Key是不能修改的,同一個廣告位置的Key值一樣
 68                 txtKeyword.Text = model.Keyword;
 69                 txtKeyword.Readonly = true;
 70                 //廣告鏈接
 71                 txtUrl.Text = model.Url;
 72                 //廣告說明
 73                 txtContent.Text = model.Content;
 74                 //開始時間與結束時間
 75                 dpStartTime.SelectedDate = model.StartTime;
 76                 dpEndTime.SelectedDate = model.EndTime;
 77                 //廣告位置下拉框綁定
 78                 ddlAdvertisingPosition.SelectedValue = model.AdvertisingPosition_Id + "";
 79                 //是否顯示
 80                 rblIsDisplay.SelectedValue = model.IsDisplay + "";
 81                 //排序值
 82                 txtSort.Text = model.Sort + "";
 83 
 84                 //是否存在廣告圖片
 85                 if (!String.IsNullOrEmpty(model.AdImg))
 86                 {
 87                     //為頁面的廣告圖片控件賦值
 88                     p_Img = model.AdImg;
 89                     //判斷當前管理人員是否有“刪除圖片”這個按鈕的操作權限
 90                     ButtonDeleteImage.Enabled = MenuInfoBll.GetInstence().CheckControlPower(this, "ButtonDeleteImage");
 91                 }
 92                 else
 93                 {
 94                     //不存在廣告圖片則隱藏刪除圖片按鈕
 95                     ButtonDeleteImage.Visible = false;
 96                 }
 97             }
 98             else
 99             {
100                 //新增廣告記錄時隱藏刪除圖片按鈕
101                 ButtonDeleteImage.Visible = false;
102             }
103         }
104 
105         #endregion
106 
107         #region 頁面控件綁定功能
108 
109         #region 下拉列表改變事件
110         /// <summary>下拉列表改變事件
111         /// </summary>
112         /// <param name="sender"></param>
113         /// <param name="e"></param>
114         protected void ddlAdvertisingPosition_SelectedIndexChanged(object sender, EventArgs e)
115         {
116             //獲取廣告位置下拉列表選擇項的值
117             int id = ConvertHelper.Cint0(ddlAdvertisingPosition.SelectedValue);
118             if (id == 0) return;
119 
120             //讀取廣告位置記錄實體
121             var model = AdvertisingPositionBll.GetInstence().GetModelForCache(id);
122             if (model != null)
123             {
124                 //修改當前廣告的Key為廣告位置Key
125                 txtKeyword.Text = model.Keyword;
126             }
127         }
128         #endregion
129 
130         #region 刪除圖片
131         /// <summary>刪除圖片</summary>
132         /// <param name="sender"></param>
133         /// <param name="e"></param>
134         public void ButtonDeleteImage_Click(object sender, EventArgs e)
135         {
136             //讀取當前編輯的廣告Id
137             int id = ConvertHelper.Cint0(hidId.Text);
138             if (id > 0)
139             {
140                 //執行廣告圖片刪除函數
141                 AdvertisementBll.GetInstence().DelAdImg(this, id);
142                 //刷新頁面
143                 FineUI.PageContext.RegisterStartupScript("window.location.reload()");
144             }
145         }
146 
147         #endregion
148 
149         #endregion
150 
151         #region 保存
152         /// <summary>
153         /// 數據保存
154         /// </summary>
155         /// <returns></returns>
156         public override string Save()
157         {
158             string result = string.Empty;
159             //讀取當前編輯的廣告Id
160             int id = ConvertHelper.Cint0(hidId.Text);
161 
162             try
163             {
164                 #region 數據驗證
165 
166                 if (string.IsNullOrEmpty(txtName.Text.Trim()))
167                 {
168                     return txtName.Label + "不能為空!";
169                 }
170                 //判斷是否重復
171                 var sName = StringHelper.Left(txtName.Text, 50);
172                 if (AdvertisementBll.GetInstence().Exist(x => x.Name == sName && x.Id != id))
173                 {
174                     return txtName.Label + "已存在!請重新輸入!";
175                 }
176                 if (ddlAdvertisingPosition.SelectedValue == "0")
177                 {
178                     return ddlAdvertisingPosition.Label + "為必選項,請選擇!";
179                 }
180 
181                 if (dpStartTime.SelectedDate == null || TimeHelper.IsDateTime(dpStartTime.SelectedDate) == false)
182                 {
183                     return "請選擇" + dpStartTime.Label;
184                 }
185                 if (dpEndTime.SelectedDate == null || TimeHelper.IsDateTime(dpEndTime.SelectedDate) == false)
186                 {
187                     return "請選擇" + dpEndTime.Label;
188                 }
189                 if (dpStartTime.SelectedDate > dpEndTime.SelectedDate)
190                 {
191                     return dpStartTime.Label + "不能大於" + dpEndTime.Label;
192                 }
193 
194                 #endregion
195 
196                 #region 賦值
197 
198                 //獲取實體
199                 var model = new Advertisement(x => x.Id == id);
200 
201                 //------------------------------------------
202                 //設置名稱
203                 model.Name = sName;
204                 model.Keyword = StringHelper.Left(txtKeyword.Text, 50);
205                 model.Url = StringHelper.Left(txtUrl.Text, 200, true, false);
206                 //說明
207                 model.Content = StringHelper.Left(txtContent.Text, 100);
208                 //取得位置
209                 model.AdvertisingPosition_Id = ConvertHelper.Cint0(ddlAdvertisingPosition.SelectedValue);
210                 model.AdvertisingPosition_Name = StringHelper.Left(ddlAdvertisingPosition.SelectedText, 50);
211 
212                 //開始時間與結束時間
213                 model.StartTime = dpStartTime.SelectedDate ?? DateTime.Now;
214                 model.EndTime = dpEndTime.SelectedDate ?? DateTime.Now.AddDays(1);
215 
216                 //設定當前項是否顯示
217                 model.IsDisplay = ConvertHelper.StringToByte(rblIsDisplay.SelectedValue);
218 
219                 model.Sort = ConvertHelper.Cint0(txtSort.Text); ;
220                 
221                 //修改時間與用戶
222                 model.UpdateDate = DateTime.Now;
223                 model.Manager_Id = OnlineUsersBll.GetInstence().GetManagerId();
224                 model.Manager_CName = OnlineUsersBll.GetInstence().GetManagerCName();
225 
226                 #endregion
227 
228                 //------------------------------------------
229 
230                 #region 上傳圖片
231 
232                 if (this.filePhoto.HasFile && this.filePhoto.FileName.Length > 3)
233                 {
234                     int vid = 7; //7    廣告
235                     //---------------------------------------------------
236                     var upload = new UploadFile();
237                     result = new UploadFileBll().Upload_AspNet(this.filePhoto.PostedFile, vid, RndKey,
238                         OnlineUsersBll.GetInstence().GetManagerId(), OnlineUsersBll.GetInstence().GetManagerCName(),
239                         upload);
240                     this.filePhoto.Dispose();
241                     //---------------------------------------------------
242                     if (result.Length == 0) //上傳成功
243                     {
244                         model.AdImg = upload.Path;
245                     }
246                     else
247                     {
248                         CommonBll.WriteLog("上傳出錯:" + result); //收集異常信息
249                         return "上傳出錯!" + result;
250                     }
251                 }
252                 //如果是修改,檢查用戶是否重新上傳過封面圖片,如果是刪除舊的圖片
253                 if (model.Id > 0)
254                 {
255                     UploadFileBll.GetInstence()
256                         .Upload_DiffFile(AdvertisementTable.Id, AdvertisementTable.AdImg, AdvertisementTable.TableName,
257                             model.Id, model.AdImg);
258 
259                     //同步UploadFile上傳表
260                     UploadFileBll.GetInstence().Upload_UpdateRs(RndKey, AdvertisementTable.TableName, model.Id);
261                 }
262 
263                 #endregion
264 
265                 //----------------------------------------------------------
266                 //存儲到數據庫
267                 AdvertisementBll.GetInstence().Save(this, model);
268 
269                 //這里放置清空前端頁面緩存的代碼(如果前端使用了頁面緩存的話,必須進行清除操作)
270 
271 
272             }
273             catch (Exception e)
274             {
275                 result = "保存失敗!";
276 
277                 //出現異常,保存出錯日志廣告
278                 CommonBll.WriteLog(result, e);
279             }
280 
281             return result;
282         }
283         #endregion
284     }
285 }
View Code

  cs頁面代碼與上一章的差不多,同時也加了很詳細的注釋,所以也不再詳細描述,大家自己嘗試修改后與上面代碼比較一下。

 

 

  下面再附上相關SQL更新代碼,直接在數據庫查詢分析器中執行就可以了

  1 --更新上傳配置表
  2 TRUNCATE TABLE UploadConfig 
  3 GO
  4 set IDENTITY_INSERT UploadConfig     on 
  5 GO
  6 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (1, '管理員頭像', 'Manager', 1, 1, '圖片文件', 'image', 200, 20000, 'Manager', 1, 0, 0, 1, 2, 500, 500, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 100, 100, 0, 0, 0, 0, 0, 0, 1, 'admin', '2014-06-26 17:03:32')
  7 GO
  8 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (2, '信息(新聞)分類圖', 'InformationClass', 1, 1, '圖片文件', 'image', 500, 20000, 'ic', 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 100, 100, 0, 0, 0, 0, 0, 0, 1, 'admin', '2014-06-26 17:04:53')
  9 GO
 10 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (3, '文章封面', 'Information', 1, 1, '圖片文件', 'image', 500, 20000, 'i', 1, 0, 0, 1, 1, 200, 200, 75, 0, 1, 700, 260, 90, 1, 430, 160, 90, 1, 100, 100, 0, 0, 0, 0, 0, 0, 1, 'admin', '2014-06-26 17:06:44')
 11 GO
 12 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (4, '文章內容(編輯器)', 'Information', 1, 6, '編輯器', 'editor', 500, 20000, 'i', 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 'admin', '2014-06-26 17:06:38')
 13 GO
 14 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (5, '廣告位置', 'AdvertisingPosition', 1, 5, '廣告圖片', 'ad', 512, 2048, 'a', 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 200, 100, 80, 0, 0, 0, 0, 1, 100, 50, 0, 0, 0, 0, 0, 0, 1, '管理員', '2014-07-08 17:40:27.217')
 15 GO
 16 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (6, '默認廣告', 'AdvertisingPosition', 1, 5, '廣告圖片', 'ad', 512, 2048, 'a', 1, 0, 1, 1, 0, 200, 100, 80, 0, 1, 200, 100, 80, 0, 0, 0, 0, 1, 100, 50, 0, 0, 0, 0, 0, 0, 1, '管理員', '2014-07-08 17:41:55.033')
 17 GO
 18 INSERT INTO UploadConfig (Id, Name, JoinName, UserType, UploadType_Id, UploadType_Name, UploadType_TypeKey, PicSize, FileSize, SaveDir, IsPost, IsSwf, IsChkSrcPost, IsFixPic, CutType, PicWidth, PicHeight, PicQuality, IsEditor, IsBigPic, BigWidth, BigHeight, BigQuality, IsMidPic, MidWidth, MidHeight, MidQuality, IsMinPic, MinWidth, MinHeight, MinQuality, IsHotPic, HotWidth, HotHeight, HotQuality, IsWaterPic, Manager_Id, Manager_CName, UpdateDate) VALUES (7, '默認廣告', 'Advertisement', 1, 5, '廣告圖片', 'a', 512, 2048, 'a', 1, 0, 1, 1, 0, 200, 100, 80, 0, 1, 200, 100, 80, 0, 0, 0, 0, 1, 100, 50, 0, 0, 0, 0, 0, 0, 1, '管理員', '2014-07-08 17:41:55')
 19 GO
 20 set IDENTITY_INSERT  UploadConfig     off 
 21 GO
 22 
 23 
 24 
 25 --更新菜單表
 26 TRUNCATE TABLE MenuInfo
 27 GO
 28 set IDENTITY_INSERT MenuInfo  on 
 29 GO
 30 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (1, '系統管理', '/WebManage/Systems/', 0, 99, 0, 1, 0)
 31 GO
 32 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (2, '基本設置', '/WebManage/Systems/Set/', 1, 1, 1, 1, 0)
 33 GO
 34 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (3, '權限管理', '/WebManage/Systems/Powers/', 1, 2, 1, 1, 0)
 35 GO
 36 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (4, '安全管理', '/WebManage/Systems/Security/', 1, 3, 1, 1, 0)
 37 GO
 38 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (5, '網站參數設置', '/WebManage/Systems/Set/WebConfigSet.aspx', 2, 1, 2, 1, 1)
 39 GO
 40 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (6, '菜單管理', '/WebManage/Systems/Powers/MenuInfoList.aspx', 3, 1, 2, 1, 1)
 41 GO
 42 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (7, '菜單編輯', '/WebManage/Systems/Powers/MenuInfoEdit.aspx', 3, 2, 2, 0, 1)
 43 GO
 44 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (8, '公共頁面權限設置', '/WebManage/Systems/Powers/PagePowerSignPublicList.aspx', 3, 3, 2, 1, 1)
 45 GO
 46 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (9, '公共頁面權限編輯', '/WebManage/Systems/Powers/PagePowerSignPublicEdit.aspx', 3, 4, 2, 0, 1)
 47 GO
 48 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (10, '頁面權限設置', '/WebManage/Systems/Powers/PagePowerSignList.aspx', 3, 5, 2, 1, 1)
 49 GO
 50 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (11, '部門管理', '/WebManage/Systems/Powers/BranchList.aspx', 3, 6, 2, 1, 1)
 51 GO
 52 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (12, '部門編輯', '/WebManage/Systems/Powers/BranchEdit.aspx', 3, 7, 2, 0, 1)
 53 GO
 54 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (13, '職位管理', '/WebManage/Systems/Powers/PositionList.aspx', 3, 8, 2, 1, 1)
 55 GO
 56 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (14, '職位編輯', '/WebManage/Systems/Powers/PositionEdit.aspx', 3, 9, 2, 0, 1)
 57 GO
 58 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (15, '在線用戶', '/WebManage/Systems/Security/OnlineUsersList.aspx', 4, 1, 2, 1, 1)
 59 GO
 60 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (16, '登陸日志', '/WebManage/Systems/Security/LoginLogList.aspx', 4, 2, 2, 1, 1)
 61 GO
 62 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (17, '操作日志', '/WebManage/Systems/Security/UseLogList.aspx', 4, 3, 2, 1, 1)
 63 GO
 64 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (18, '錯誤日志', '/WebManage/Systems/Security/ErrorLogList.aspx', 4, 4, 2, 1, 1)
 65 GO
 66 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (19, '上傳類型設置', '/WebManage/Systems/Set/UploadTypeList.aspx', 2, 2, 2, 1, 1)
 67 GO
 68 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (20, '上傳類型編輯', '/WebManage/Systems/Set/UploadTypeEdit.aspx', 2, 3, 2, 0, 1)
 69 GO
 70 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (21, '上傳配置管理', '/WebManage/Systems/Set/UploadConfigList.aspx', 2, 4, 2, 1, 1)
 71 GO
 72 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (22, '上傳配置編輯', '/WebManage/Systems/Set/UploadConfigEdit.aspx', 2, 5, 2, 0, 1)
 73 GO
 74 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (23, '已上傳文件管理', '/WebManage/Systems/Set/UploadFileList.aspx', 2, 6, 2, 1, 1)
 75 GO
 76 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (24, '員工管理', '/WebManage/Employees/', 0, 90, 0, 1, 0)
 77 GO
 78 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (25, '在職員工管理', '/WebManage/Employees/ManagerList.aspx', 24, 1, 1, 1, 1)
 79 GO
 80 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (26, '員工編輯', '/WebManage/Employees/ManagerEdit.aspx', 24, 2, 1, 0, 1)
 81 GO
 82 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (27, '離職員工管理', '/WebManage/Employees/StaffTurnoverList.aspx', 24, 3, 1, 1, 1)
 83 GO
 84 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (28, '信息管理', '/WebManage/Informations/', 0, 1, 0, 1, 0)
 85 GO
 86 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (29, '信息分類列表', '/WebManage/Informations/InformationClassList.aspx', 28, 1, 1, 1, 1)
 87 GO
 88 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (30, '信息分類編輯', '/WebManage/Informations/InformationClassEdit.aspx', 28, 2, 1, 0, 1)
 89 GO
 90 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (31, '信息列表', '/WebManage/Informations/InformationList.aspx', 28, 3, 1, 1, 1)
 91 GO
 92 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (32, '信息編輯', '/WebManage/Informations/InformationEdit.aspx', 28, 4, 1, 0, 1)
 93 GO
 94 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (33, '授權電話管理', '/WebManage/Systems/Powers/EmpowerPhoneList.aspx', 3, 10, 2, 1, 1)
 95 GO
 96 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (34, '授權電話編輯', '/WebManage/Systems/Powers/EmpowerPhoneEdit.aspx', 3, 11, 2, 0, 1)
 97 GO
 98 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (35, '授權Ip列表', '/WebManage/Systems/Powers/EmpowerIpList.aspx', 3, 12, 2, 1, 1)
 99 GO
100 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (36, '廣告管理', '/WebManage/Advertisements/', 0, 2, 0, 1, 0)
101 GO
102 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (37, '廣告位置管理', '/WebManage/Advertisements/AdvertisingPositionList.aspx', 36, 1, 1, 1, 1)
103 GO
104 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (38, '廣告位置編輯', '/WebManage/Advertisements/AdvertisingPositionEdit.aspx', 36, 2, 1, 0, 1)
105 GO
106 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (39, '廣告內容管理', '/WebManage/Advertisements/AdvertisementList.aspx', 36, 3, 1, 1, 1)
107 GO
108 INSERT INTO MenuInfo (Id, Name, Url, ParentId, Sort, Depth, IsDisplay, IsMenu) VALUES (40, '廣告內容編輯', '/WebManage/Advertisements/AdvertisementEdit.aspx', 36, 4, 1, 0, 1)
109 GO
110 set IDENTITY_INSERT  MenuInfo  off 
111 
112 
113 
114 --更新頁面控件權限標識管理表
115 TRUNCATE TABLE PagePowerSign 
116 GO
117 set IDENTITY_INSERT PagePowerSign  on 
118 GO
119 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (1, 4, '保存', 'ButtonSave', 5)
120 GO
121 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (2, 1, '添加', 'ButtonAdd', 6)
122 GO
123 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (3, 2, '編輯', 'ButtonEdit', 6)
124 GO
125 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (4, 3, '刪除', 'ButtonDelete', 6)
126 GO
127 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (5, 5, '自動排序', 'ButtonSaveAutoSort', 6)
128 GO
129 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (6, 6, '保存排序', 'ButtonSaveSort', 6)
130 GO
131 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (7, 4, '保存', 'ButtonSave', 7)
132 GO
133 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (8, 1, '添加', 'ButtonAdd', 8)
134 GO
135 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (9, 2, '編輯', 'ButtonEdit', 8)
136 GO
137 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (10, 3, '刪除', 'ButtonDelete', 8)
138 GO
139 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (11, 4, '保存', 'ButtonSave', 9)
140 GO
141 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (12, 1, '添加', 'ButtonAdd', 11)
142 GO
143 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (13, 2, '編輯', 'ButtonEdit', 11)
144 GO
145 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (14, 3, '刪除', 'ButtonDelete', 11)
146 GO
147 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (15, 5, '自動排序', 'ButtonSaveAutoSort', 11)
148 GO
149 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (16, 6, '保存排序', 'ButtonSaveSort', 11)
150 GO
151 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (17, 4, '保存', 'ButtonSave', 12)
152 GO
153 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (18, 1, '添加', 'ButtonAdd', 13)
154 GO
155 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (19, 2, '編輯', 'ButtonEdit', 13)
156 GO
157 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (20, 3, '刪除', 'ButtonDelete', 13)
158 GO
159 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (21, 4, '保存', 'ButtonSave', 14)
160 GO
161 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (22, 8, '踢除用戶', 'ButtonGetOut', 15)
162 GO
163 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (23, 1, '添加', 'ButtonAdd', 19)
164 GO
165 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (24, 2, '編輯', 'ButtonEdit', 19)
166 GO
167 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (25, 3, '刪除', 'ButtonDelete', 19)
168 GO
169 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (26, 4, '保存', 'ButtonSave', 20)
170 GO
171 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (27, 1, '添加', 'ButtonAdd', 21)
172 GO
173 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (28, 2, '編輯', 'ButtonEdit', 21)
174 GO
175 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (29, 3, '刪除', 'ButtonDelete', 21)
176 GO
177 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (30, 4, '保存', 'ButtonSave', 22)
178 GO
179 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (31, 9, '圖片全部重新生成', 'ButtonImageRegenerate', 23)
180 GO
181 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (32, 3, '刪除', 'ButtonDelete', 23)
182 GO
183 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (33, 1, '添加', 'ButtonAdd', 29)
184 GO
185 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (34, 2, '編輯', 'ButtonEdit', 29)
186 GO
187 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (35, 3, '刪除', 'ButtonDelete', 29)
188 GO
189 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (36, 5, '自動排序', 'ButtonSaveAutoSort', 29)
190 GO
191 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (37, 6, '保存排序', 'ButtonSaveSort', 29)
192 GO
193 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (38, 4, '保存', 'ButtonSave', 30)
194 GO
195 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (39, 10, '刪除圖片', 'ButtonDeleteImage', 30)
196 GO
197 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (40, 1, '添加', 'ButtonAdd', 31)
198 GO
199 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (41, 2, '編輯', 'ButtonEdit', 31)
200 GO
201 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (42, 3, '刪除', 'ButtonDelete', 31)
202 GO
203 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (43, 5, '自動排序', 'ButtonSaveAutoSort', 31)
204 GO
205 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (44, 6, '保存排序', 'ButtonSaveSort', 31)
206 GO
207 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (45, 4, '保存', 'ButtonSave', 32)
208 GO
209 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (46, 10, '刪除圖片', 'ButtonDeleteImage', 32)
210 GO
211 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (47, 1, '添加', 'ButtonAdd', 25)
212 GO
213 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (48, 2, '編輯', 'ButtonEdit', 25)
214 GO
215 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (49, 11, '離職', 'ButtonStaffTurnover', 25)
216 GO
217 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (50, 4, '保存', 'ButtonSave', 26)
218 GO
219 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (51, 2, '編輯', 'ButtonEdit', 27)
220 GO
221 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (52, 3, '刪除', 'ButtonDelete', 27)
222 GO
223 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (53, 12, '復職', 'ButtonRecovery', 27)
224 GO
225 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (54, 1, '添加', 'ButtonAdd', 37)
226 GO
227 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (55, 2, '編輯', 'ButtonEdit', 37)
228 GO
229 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (56, 3, '刪除', 'ButtonDelete', 37)
230 GO
231 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (57, 5, '自動排序', 'ButtonSaveAutoSort', 37)
232 GO
233 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (58, 6, '保存排序', 'ButtonSaveSort', 37)
234 GO
235 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (59, 4, '保存', 'ButtonSave', 38)
236 GO
237 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (60, 1, '添加', 'ButtonAdd', 39)
238 GO
239 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (61, 2, '編輯', 'ButtonEdit', 39)
240 GO
241 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (62, 3, '刪除', 'ButtonDelete', 39)
242 GO
243 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (63, 5, '自動排序', 'ButtonSaveAutoSort', 39)
244 GO
245 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (64, 6, '保存排序', 'ButtonSaveSort', 39)
246 GO
247 INSERT INTO PagePowerSign (Id, PagePowerSignPublic_Id, CName, EName, MenuInfo_Id) VALUES (65, 4, '保存', 'ButtonSave', 40)
248 GO
249 
250 set IDENTITY_INSERT PagePowerSign   off 
View Code

 

  本次代碼還更新了DotNet.Utilities.ConfigHelper類、DotNet.Utilities.GridViewHelper類

  前者修改配置文件讀取轉換出錯的問題,后者修改了獲取Grid表格選擇行數據的相關函數,以及修改后所引起的UI層相關頁面函數的引用。

 

  還有自定義OnlineUsersBll.cs類也修改了個小Bug

 

   除了上面添加了上面代碼外,還新增三個日志刪除的存儲過程

  

  大家如果將項目放在正式環境上時,可以在SQL Server代理中創建作業來運行,設置每個月自動執行一次就可以了

  

  

  

  

  

  

  

 

 

 

由於框架不是非常成熟,很多朋友不是用來學習而是直接用到項目中,但不熟悉框架引起不少小問題,所以停止提供下載,有需要學習的可以到群共享里下,不便之處敬請諒解。

 

 

 

 版權聲明:

  本文由AllEmpty原創並發布於博客園,歡迎轉載,未經本人同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接,否則保留追究法律責任的權利。如有問題,可以通過1654937@qq.com 聯系我,非常感謝。

 

  發表本編內容,只要主為了和大家共同學習共同進步,有興趣的朋友可以加加Q群:327360708 ,大家一起探討。

 

  更多內容,敬請觀注博客:http://www.cnblogs.com/EmptyFS/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM