Asp.net 2.0在運行過程中修改Master Page, Thema

來源:互聯網
上載者:User
不多說了,直接貼代碼。研究了好久,總算調通,有些小道道,不注意就會被騙。
呵呵。using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

/**//// <summary>
/// Summary description for BlogPage
/// </summary>
public partial class BlogPage : System.Web.UI.Page
{
    private string m_strMasterPageFile;
    protected void Page_PreInit(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            SetPage();            
        }
    }
    設定顯示內容#region 設定顯示內容
    /**//// <summary>
    /// 設定顯示內容
    /// </summary>
    private void SetPage()
    {
        try
        {           
            this.MasterPageFile = m_strMasterPageFile;
        }
        catch
        {
        }
    }
    
    public override string StyleSheetTheme
    {
        get
        {
            try
            {                
                if (Page.Theme == null)
                {                    
                    string BlogName = Request.QueryString["BlogName"];
                    if (BlogName != null && BlogName != "")
                    {
                        DataSet ds = UserInfo.QueryBlog(BlogName);
                        Page.Theme = ds.Tables[0].Rows[0]["ThemaName"].ToString();
                        Session["BlogID"] = ds.Tables[0].Rows[0]["UserID"].ToString();
                        m_strMasterPageFile = this.MasterPageFile = "~/Blog/" + ds.Tables[0].Rows[0]["LayoutName"].ToString() + "MasterPage.master";
                        ArrayList ary;
                        if (Session["VisitList"] == null)
                        {
                            ary = new ArrayList();   
                        }
                        else
                            ary = (ArrayList)Session["VisitList"];
                        if (!ary.Contains((int)ds.Tables[0].Rows[0]["UserID"]))
                        {   // 如果沒有訪問過
                            ary.Add((int)ds.Tables[0].Rows[0]["UserID"]);
                            Session["VisitList"] = ary;
                            UserInfo.AddBlogVisit((int)ds.Tables[0].Rows[0]["UserID"]);
                        }                      
                        ds.Dispose();
                        ds = null;
                    }
                }
            }
            catch
            {
                Page.Theme = "Default";
                this.Page.MasterPageFile = "~/Blog/DefaultMasterPage.master";
            }
            return Page.Theme;
        } 
    }    
    #endregion
}

www.gofordesign.com

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.