頁面權(quán)限與頁面控件權(quán)限經(jīng)過簡單的調(diào)試后,終于啟用起來了,以后大家添加新頁面時,就必須按照本章介紹的方法,將你新增的頁面注冊到系統(tǒng)中,這樣才能訪問與進(jìn)行相關(guān)操作。
下面講講如何創(chuàng)建一個分類類型的頁面。
分類類型,顧名思義指的是按照一定規(guī)律、特點(diǎn)進(jìn)行歸類劃分,放到一塊的集合。我們開發(fā)時這些分類類型,經(jīng)常用下拉列表來表現(xiàn),如果有多級分類時,采用的是下拉樹列表方式顯示。
普通下拉列表
下拉樹列表
下面將介紹如何從創(chuàng)建數(shù)據(jù)表、修改文件到權(quán)限綁定逐個步驟進(jìn)行說明。
首先,我們先要創(chuàng)建好數(shù)據(jù)表
我們打開數(shù)據(jù)字典,按數(shù)據(jù)字典中的格式,創(chuàng)建一個廣告位置管理表
然后打開大神July提供的SQL語句生成工具,生成數(shù)據(jù)表創(chuàng)建語句
運(yùn)行ExcelToSQLString2.91_sql.exe,選擇《數(shù)據(jù)字典》的文件路徑,設(shè)置想要生成SQL語句的表格名稱,然后點(diǎn)擊運(yùn)行
生成下面語句
將生成的語句放到SQL的查詢分析器中執(zhí)行,生成數(shù)據(jù)表(見下圖已生成的數(shù)據(jù)表)
打開解決方案,找到數(shù)據(jù)層的SubSonic文件夾,按下圖進(jìn)行選擇后,點(diǎn)擊右鍵,找到“運(yùn)行自定義工具”,點(diǎn)擊重新運(yùn)行生成數(shù)據(jù)層模板類
找到邏輯層的SubSonic文件夾,按下圖進(jìn)行選擇后,點(diǎn)擊右鍵,找到“運(yùn)行自定義工具”,點(diǎn)擊重新運(yùn)行生成邏輯層模板類
通過以上操作,已經(jīng)幫我們生成了底層我們需要調(diào)用到的常用實(shí)體和函數(shù)了,下面接著創(chuàng)建相關(guān)文件
為了方便管理,我們在UI層后端管理文件夾(WebManage)中創(chuàng)建一個AdvertisingPositions文件夾,用于存放廣告管理的相關(guān)文件
已創(chuàng)建好文件夾
打開Informations文件夾,將InformationClassList.aspx復(fù)制到AdvertisingPositions文件夾中(因為這兩個文件的功能比較相似,所以直接復(fù)制過來修改)
將InformationClassList.aspx改名為AdvertisingPositionList.aspx
打開AdvertisingPositionList.aspx與AdvertisingPositionList.aspx.cs文件,按下面方式進(jìn)行替換
將頁面中的“InformationClass”替換成“AdvertisingPosition”
將頁面中的“信息分類”替換為“廣告位置”
找到AdvertisingPositionList.aspx.cs文件的命名空間,將Informations替換成AdvertisingPositions,如下圖
同樣找到AdvertisingPositionList.aspx文件也進(jìn)行同面的替換
經(jīng)過替換,頁面大體的功能就完成了。
打開AdvertisingPositionList.aspx文件,將Grid中想要顯示的列重新進(jìn)行設(shè)置綁定(按下面內(nèi)容進(jìn)行修改,具體怎么使用FineUI,大家可以登陸FineUI官網(wǎng)查看在線示例,或者先按我代碼中的內(nèi)容嘗試對控件屬性進(jìn)行增改操作后刷新頁面,查看修改后的效果,弄上幾個就很容易明白怎么使用了)
1 <f:Grid ID="Grid1" Title="廣告位置列表" EnableFrame="false" EnableCollapse="true" AllowSorting="true" 2 PageSize="15" ShowBorder="true" ShowHeader="False" AllowPaging="true" runat="server" EnableCheckBoxSelect="True" DataKeyNames="Id" EnableColumnLines="true" 3 OnPageIndexChange="Grid1_PageIndexChange" OnWord" HeaderText="關(guān)鍵字" Width="100px" />13 <f:BoundField DataField="Width" HeaderText="寬" />14 <f:BoundField DataField="Height" HeaderText="高" />15 <f:TemplateField HeaderText="排序" Width="100px">16 <ItemTemplate>17 <asp:TextBox ID="tbSort" runat="server" Width="50px" Text='<%# Eval("Sort") %>' AutoPostBack="false"></asp:TextBox>18 </ItemTemplate>19 </f:TemplateField>20 <f:LinkButtonField HeaderText="是否顯示" Icon="BulletCross" TextAlign="Center" ToolTip="點(diǎn)擊修改是否顯示" ColumnID="IsDisplay" CommandName="IsDisplay" />21 <f:BoundField DataField="Depth" HeaderText="級別層次" TextAlign="Center" />22 <f:LinkButtonField HeaderText="操作" TextAlign="Center" ToolTip="點(diǎn)擊修改當(dāng)前記錄" ColumnID="ButtonEdit" CommandName="ButtonEdit" />23 </Columns>24 </f:Grid>View Code
打開AdvertisingPositionList.aspx.cs文件,我們會看到一些調(diào)用函數(shù)不存在或是提示出錯,那么我們就動手創(chuàng)建或修改一下就可以了
由于綁定下拉列表函數(shù)我們的模板沒有生成,所以就手動創(chuàng)建一下
同理,我們按InformationClassBll邏輯類的內(nèi)容,創(chuàng)建AdvertisingPositionBll邏輯類
1 using System; 2 using System.Collections.Generic; 3 using System.Web.UI; 4 using DotNet.Utilities; 5 using Solution.Dataaccess.DataModel; 6 7 /*********************************************************************** 8 * 作 者:AllEmpty(陳煥)-- 1654937@QQ.com 9 * 博 客:http://www.companysz.com/EmptyFS/10 * 技 術(shù) 群:32736070811 * 12 * 創(chuàng)建日期:2014-07-0713 * 文件名稱:AdvertisingPositionBll.cs14 * 描 述:廣告位置管理邏輯類15 * 16 * 修 改 人:17 * 修改日期:18 * 修改原因:19 ***********************************************************************/20 namespace Solution.Logic.Managers21 {22 /// <summary>23 /// AdvertisingPositionBll邏輯類24 /// </summary>25 public partial class AdvertisingPositionBll : LogicBase26 {27 /***********************************************************************28 * 自定義函數(shù) *29 ***********************************************************************/30 31 #region 自定義函數(shù)32 33 #region 綁定廣告位置下拉列表34 /// <summary>35 /// 綁定廣告位置下拉列表——只顯示一級廣告位置36 /// </summary>37 public void BandDropDownList(Page page, FineUI.DropDownList ddl)38 {39 var dt = DataTableHelper.GetFilterData(GetDataTable(), AdvertisingPositionTable.ParentId, "0", AdvertisingPositionTable.Sort, "desc");40 41 //顯示值42 ddl.DataTextField = AdvertisingPositionTable.Name;43 //綁定Id44 ddl.DataValueField = AdvertisingPositionTable.Id;45 46 //綁定數(shù)據(jù)源47 ddl.DataSource = dt;48 ddl.DataBind();49 ddl.Items.Insert(0, new FineUI.ListItem("請選擇廣告位置", "0"));
新聞熱點(diǎn)
疑難解答