熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

網購系統——用戶界面層公共函數集WebUtility

2013-11-13 10:15:29  來源: .NET編程 
    頻繁的數據庫操作需要一個公共的數據庫操作函數集(DBUtility中的SQLHelpercs)頻繁的用戶界面操作也需要一個公共函數集WebUtilitycs因為頻繁這個類及類中的函數也做成了靜態的
   
    一App_Code中添加類WebUtilitycs並在類中添加函數GetCategoryName()
   
    [csharp] using System;
   
    using SystemConfiguration;
   
    using SystemWeb;
   
    using SystemWebCaching;
   
    using WestGardenDAL;
   
    namespace WestGardenWeb
   
    {
   
    public static class WebUtility
   
    {
   
    private const string CATEGORY_NAME_KEY = category_name_{};
   
    private static readonly bool enableCaching = boolParse(ConfigurationManagerAppSettings[EnableCaching])
   
    public static string GetCategoryName(string categoryId)
   
    {
   
    Category category = new Category()
   
    if (!enableCaching)
   
    return categoryGetCategory(categoryId)Name;
   
    string cacheKey = stringFormat(CATEGORY_NAME_KEY categoryId)
   
    string data = (string)HttpRuntimeCache[cacheKey];
   
    if (data == null)
   
    {
   
    int cacheDuration = intParse(ConfigurationManagerAppSettings[CategoryCacheDuration])
   
    data = categoryGetCategory(categoryId)Name;
   
    HttpRuntimeCacheAdd(cacheKey data null DateTimeNowAddHours(cacheDuration) CacheNoSlidingExpiration CacheItemPriorityHigh null)
   
    }
   
    return data;
   
    }
   
    }
   
    }
   
    using System;
   
    using SystemConfiguration;
   
    using SystemWeb;
   
    using SystemWebCaching;
   
    using WestGardenDAL;
   
    namespace WestGardenWeb
   
    {
   
    public static class WebUtility
   
    {
   
    private const string CATEGORY_NAME_KEY = category_name_{};
   
    private static readonly bool enableCaching = boolParse(ConfigurationManagerAppSettings[EnableCaching])
   
    public static string GetCategoryName(string categoryId)
   
    {
   
    Category category = new Category()
   
    if (!enableCaching)
   
    return categoryGetCategory(categoryId)Name;
   
    string cacheKey = stringFormat(CATEGORY_NAME_KEY categoryId)
   
    string data = (string)HttpRuntimeCache[cacheKey];
   
    if (data == null)
   
    {
   
    int cacheDuration = intParse(ConfigurationManagerAppSettings[CategoryCacheDuration])
   
    data = categoryGetCategory(categoryId)Name;
   
    HttpRuntimeCacheAdd(cacheKey data null DateTimeNowAddHours(cacheDuration) CacheNoSlidingExpiration CacheItemPriorityHigh null)
   
    }
   
    return data;
   
    }
   
    }
   
    }
   


    這個函數功能是獲取類別名稱獲取類別需要進行一下判斷如果允許Cache緩存就從Cache中獲取如果不允許就從數據庫中查詢因些使用這個函數需要在nfig中添加兩個設置是否允許Cache以及Cache的生命期
   
    [csharp] <add key=EnableCaching value=true/>
   
    <add key=CategoryCacheDuration value=/>
   
    <add key=EnableCaching value=true/>
   
    <add key=CategoryCacheDuration value=/>
   
    這個函數如果從數據庫進行查詢需要調用DAL中的GetCategory()函數為此需要在Categorycs中添加函數GetCategory()
   
    [csharp] public CategoryInfo GetCategory(string categoryId)
   
    {
   
    CategoryInfo category = null;
   
    SqlParameter parm = new SqlParameter(Parm_CATEGORY_ID SqlDbTypeVarChar
   
    parmValue = categoryId;
   
    using (SqlDataReader rdr = SqlHelperExecuteReader(SqlHelperConnectionStringLocalTransaction CommandTypeText SQL_SELECT_CATEGORIES parm))
   
    {
   
    if (rdrRead())
   
    category = new CategoryInfo(rdrGetString( rdrGetString( rdrGetString())
   
    else
   
    category = new CategoryInfo()
   
    }
   
    return category;
   
    }
   
    public CategoryInfo GetCategory(string categoryId)
   
    {
   
    CategoryInfo category = null;
   
    SqlParameter parm = new SqlParameter(Parm_CATEGORY_ID SqlDbTypeVarChar
   
    parmValue = categoryId;
   
    using (SqlDataReader rdr = SqlHelperExecuteReader(SqlHelperConnectionStringLocalTransaction CommandTypeText SQL_SELECT_CATEGORIES parm))
   
    {
   
    if (rdrRead())
   
    category = new CategoryInfo(rdrGetString( rdrGetString( rdrGetString())
   
    else
   
    category = new CategoryInfo()
   
    }
   
    return category;
   
    }


   
    二Web添加母版MasterPagemaster
   
    窗體頁代碼
   
    [html] <%@ Master Language=C# AutoEventWireup=true CodeFile=MasterPagemastercs Inherits=WestGardenWebMasterPage %>
   
    <%@ Register Src=Controls/NavigationControlascx TagName=NavigationControl TagPrefix=WestGardenControl %>
   
    <!DOCTYPE html PUBLIC //WC//DTD XHTML //EN >
   
    <html xmlns=>
   
    <head runat=server>
   
    <title>The NET Pet Shop</title>
   
    </head>
   
    <body>
   
    <form id=form runat=server>
   
    <asp:Panel ID=panFocus runat=server DefaultButton=btnSearch>
   
    <table align=center border= cellpadding= cellspacing= width=>
   
    <tr valign=top>
   
    <td rowspan=>
   
    <img src=Images/Comm_Images/Logo_homejpg alt=home /></td>
   
    <td class=homeBgSearch height= width=>
   
    <asp:TextBox ID=txtSearch runat=server CssClass=homeSearchBox Width=px></asp:TextBox></td>
   
    <td class=homeBgSearch width=>
   
    <asp:ImageButton ID=btnSearch runat=server AlternateText=Search CausesValidation=false
   
    CssClass=paddingSearchicon ImageUrl=Images/Comm_Images/buttonsearchgif /></td>
   
    <td class=homeBgSearch width=>
   
    <asp:LoginStatus ID=lgnStatus runat=server CssClass=homeLink LoginText=登 錄
   
    LogoutAction=Redirect LogoutPageUrl=~/Defaultaspx LogoutText=退 出 />
   
    </td>
   
    <td width=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td colspan=>
   
    <img src=Images/Comm_Images/KFCJPG /></td>
   
    <td width=>
   
    </td>
   
                   </tr>
   
    </table>
   
    </asp:Panel>
   
    <table align=center border= cellpadding= cellspacing= width=>
   
    <tr>
   
    <td colspan=>
   
    <img src=Images/Comm_Images/spacergif height= /></td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td width=>
   
    </td>
   
    <td width=>
   
    </td>
   
    <td width=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td>
   
    </td>
   
    <td class=pageHeader>
   
    <asp:Literal ID=ltlHeader runat=server></asp:Literal>
   
    </td>
   
    <td>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td >
   
    </td>
   
    <td class=dottedLine >
   
    </td>
   
    <td >
   
    </td>
   
    </tr>
   
    <tr>
   
    <td valign=top >
   
    </td>
   
    <td valign=top>
   
    <WestGardenControl:NavigationControl ID=Categories runat=server></WestGardenControl:NavigationControl>
   
    </td>
   
    <td bgcolor=#FFFFFF valign=top>
   
    <asp:ContentPlaceHolder ID=cphPage runat=server>
   
    </asp:ContentPlaceHolder>
   
    </td>
   
    <td height=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td>
   
    </td>
   
    <td class=footer>
   
    <table width=%>
   
    <tr>
   
    <td >
    

    
    <td align=right >
   
    <a _blank>
    
    
    </tr>
   
    </table>
   
    </td>
   
    <td>
   
    </td>
   
    </tr>
   
    </table>
   
    </form>
   
    </body>
   
    </html>
   
    <%@ Master Language=C# AutoEventWireup=true CodeFile=MasterPagemastercs Inherits=WestGardenWebMasterPage %>
   
    <%@ Register Src=Controls/NavigationControlascx TagName=NavigationControl TagPrefix=WestGardenControl %>
   
    <!DOCTYPE html PUBLIC //WC//DTD XHTML //EN >
   
    <html xmlns=>
   
    <head runat=server>
   
    <title>The NET Pet Shop</title>
   
    </head>
   
    <body>
   
    <form id=form runat=server>
   
    <asp:Panel ID=panFocus runat=server DefaultButton=btnSearch>
   
    <table align=center border= cellpadding= cellspacing= width=>
   
    <tr valign=top>
   
    <td rowspan=>
   
    <img src=Images/Comm_Images/Logo_homejpg alt=home /></td>
   
    <td class=homeBgSearch height= width=>
   
    <asp:TextBox ID=txtSearch runat=server CssClass=homeSearchBox Width=px></asp:TextBox></td>
   
    <td class=homeBgSearch width=>
   
    <asp:ImageButton ID=btnSearch runat=server AlternateText=Search CausesValidation=false
   
    CssClass=paddingSearchicon ImageUrl=Images/Comm_Images/buttonsearchgif /></td>
   
    <td class=homeBgSearch width=>
   
    <asp:LoginStatus ID=lgnStatus runat=server CssClass=homeLink LoginText=登 錄
   
    LogoutAction=Redirect LogoutPageUrl=~/Defaultaspx LogoutText=退 出 />
   
    </td>
   
    <td width=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td colspan=>
   
    <img src=Images/Comm_Images/KFCJPG /></td>
   
    <td width=>
   
    </td>
   
    </tr>
   
    </table>
   
    </asp:Panel>
   
    <table align=center border= cellpadding= cellspacing= width=>
   
    <tr>
   
    <td colspan=>
   
    <img src=Images/Comm_Images/spacergif height= /></td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td width=>
   
    </td>
   
    <td width=>
   
    </td>
   
    <td width=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td>
   
    </td>
   
    <td class=pageHeader>
   
    <asp:Literal ID=ltlHeader runat=server></asp:Literal>
   
    </td>
   
    <td>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td >
   
    </td>
   
    <td class=dottedLine >
   
    </td>
   
    <td >
   
    </td>
   
    </tr>
   
    <tr>
   
    <td valign=top >
   
    </td>
   
    <td valign=top>
   
    <WestGardenControl:NavigationControl ID=Categories runat=server></WestGardenControl:NavigationControl>
   
    </td>
   
    <td bgcolor=#FFFFFF valign=top>
   
    <asp:ContentPlaceHolder ID=cphPage runat=server>
   
    </asp:ContentPlaceHolder>
   
    </td>
   
    <td height=>
   
    </td>
   
    </tr>
   
    <tr>
   
    <td >
   
    </td>
   
    <td>
   
    </td>
   
    <td class=footer>
   
    <table width=%>
   
    <tr>
   
    <td >
   
    <td align=right >
   
    <a _blank>
    

    
    </tr>
   
    </table>
   
    </td>
   
    <td>
   
    </td>
   
    </tr>
   
    </table>
   
    </form>
   
    </body>
   
    </html>
   
    代碼頁代碼
   
    [csharp] using System;
   
    using SystemWeb;
   
    using SystemWebUIWebControls;
   
    namespace WestGardenWeb
   
    {
   
    public partial class MasterPage : SystemWebUIMasterPage
   
    {
   
    private const string HEADER_PREFIX = 肯德基訂餐系統西園工作室 :: {};
   
    protected void Page_PreRender(object sender EventArgs e)
   
    {
   
    ltlHeaderText = PageHeaderTitle;
   
    PageHeaderTitle = stringFormat(HEADER_PREFIX PageHeaderTitle)
   
    }
   
    }
   
    }
   
    using System;
   
    using SystemWeb;
   
    using SystemWebUIWebControls;
   
    namespace WestGardenWeb
   
    {
   
    public partial class MasterPage : SystemWebUIMasterPage
   
    {
   
    private const string HEADER_PREFIX = 肯德基訂餐系統西園工作室 :: {};
   
    protected void Page_PreRender(object sender EventArgs e)
   
    {
   
    ltlHeaderText = PageHeaderTitle;
   
    PageHeaderTitle = stringFormat(HEADER_PREFIX PageHeaderTitle)
   
    }
   
    }
   
    }
   


    三為已建窗體Itemsaspx應用母版並在後台添加代碼設置窗體標題
   
    應用母版代碼
   
    [html] <%@ Page Language=C# MasterPageFile=~/MasterPagemaster AutoEventWireup=true CodeFile=Itemsaspxcs Inherits=WestGardenWebItems %>
   
    <%@ Register Src=Controls/ItemssControlascx TagName=ItemsControl TagPrefix=WestGardenControl %>
   
    <asp:Content ID=cntPage ContentPlaceHolderID=cphPage runat=Server EnableViewState=false>
   
    <WestGardenControl:ItemsControl ID=ItemsControl runat=server />
   
    </asp:Content>
   
    <%@ Page Language=C# MasterPageFile=~/MasterPagemaster AutoEventWireup=true CodeFile=Itemsaspxcs Inherits=WestGardenWebItems %>
   
    <%@ Register Src=Controls/ItemssControlascx TagName=ItemsControl TagPrefix=WestGardenControl %>
   
    <asp:Content ID=cntPage ContentPlaceHolderID=cphPage runat=Server EnableViewState=false>
   
    <WestGardenControl:ItemsControl ID=ItemsControl runat=server />
   
    </asp:Content>
   
    設置窗體標題代碼
   
    [csharp] using WestGardenDAL;
   
    namespace WestGardenWeb
   
    {
   
    public partial class Items : SystemWebUIPage
   
    {
   
    protected void Page_Load(object sender EventArgs e)
   
    {
   
    PageTitle = WebUtilityGetCategoryName(RequestQueryString[categoryId])
   
    }
   
    }
   
    }


From:http://tw.wingwit.com/Article/program/net/201311/13079.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.