国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

asp.net頁面head區動態設置全攻略

2019-11-18 17:06:19
字體:
來源:轉載
供稿:網友

網頁head區,不能用普通控件,但它有時又很重要,比如title、keyWords、description,可能每個頁面都不同,那么怎么樣才能根據內容動態設置它們呢?
方法1:asp能做到的,asp.net當然可以做到,只要你把整個頁面都用Response.Write()寫出來,沒有什么不能自定義的,當然也可以"<%=某個成員%>"。但很明顯,這樣發揮不了.net的特點。
方法2:利用asp.net的特有屬性:runat="server",給title設置一個id,然后讓它成為服務器變量,那就可以設置其文本了。但這樣出來的html里邊也會帶有id,看著實在不爽。
方法3:利用Literal控件,前臺:     <HEAD>
        <asp:Literal ID="lt_title" Runat="server" />
        <asp:Literal ID="lt_keywords" Runat="server" />
        <asp:Literal ID="lt_descri" Runat="server" />
    </HEAD>后臺:     PRivate void Page_Load(object sender, System.EventArgs e)
    {
        lt_title.Text = "<title>標題</title>";
        lt_keywords.Text = "<meta name=/"keywords/" content=/"關鍵字/">";
        lt_descri.Text = "<meta name=/"description/" content=/"描述/">";
    }
這樣就基本達到完美了。

更進一步,我的頁面用了不少用戶控件,并且這些用戶控件有層次,而決定頁面title的,可能是某個用戶控件中的子用戶控件來決定的,而且用戶控件的嵌套層次不固定。 那要怎么來動態設置呢?

首頁,做一個用戶控件的基類,并且給它增加1個public方法:

        public void SetTitle(string title)
        {
            SetLiteralText("lt_title", string.Format("<title>{0}</title>", title));
        }再增加一個private方法:
        private void SetLiteralText(string id, string text)
        {
            Literal lt = null;
            Control ctrl = this;
            do
            {
                ctrl = ctrl.Parent;
            }while(ctrl != null && ctrl.GetType().FullName != "System.Web.UI.HtmlControls.HtmlForm" );

            if(ctrl != null)
            {
                lt = ctrl.FindControl(id) as Literal;
                if(lt != null)
                    lt.Text = text;
            }
        }
這樣,你的用戶控件只需要讓它繼承自這個基類,然后在你想設置頁面的title時調用base.SetTitle("標題"),就簡單的完成了任務。對于head區其它標記,原理和設置title一樣。

http://javen.VEVb.com/archive/2006/07/14/451116.html


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石林| 临洮县| 温泉县| 抚顺市| 峨眉山市| 河间市| 衡阳县| 微山县| 若羌县| 观塘区| 阳东县| 浮山县| 吉木乃县| 卓尼县| 隆昌县| 马山县| 法库县| 南汇区| 保康县| 西宁市| 家居| 城市| 宣恩县| 英吉沙县| 沅江市| 鹿泉市| 棋牌| 鄱阳县| 内江市| 成安县| 安溪县| 砚山县| 深泽县| 大同市| 兴隆县| 哈巴河县| 泸水县| 友谊县| 那坡县| 湖南省| 防城港市|