页面description使用变量赋值,比如
<meta name="description" content=这是<%=catName %>栏目 />
就会解析成<meta name="description" content=这是汽车栏目 />
但是如果加上双引号,解析就错误了,变成这样了
<meta name="description" content=这是&lt;%=catName %>栏目 />
而且我必须要提供这个变量出去,不能在程序里面写,请问怎么实现?

解决方案 »

  1.   


     <meta name="description" content=<%= string.Format("\"这是{0}栏目\"",catName)  %> />
      

  2.   

    还可以,写个基类在基类里面设置Description,让各个页面继承。如:
     public class PageBase : System.Web.UI.Page
    {
    protected override void OnPreLoad(EventArgs e)
            {            //设置每页的Title
                Page.Header.Title ="设置每页的Title";            //设置每页的Meta内容中的Description
                HtmlMeta desc = new HtmlMeta();
                desc.Name = "Description";
                desc.Content = "设置每页的Meta内容中的Description";
                Page.Header.Controls.Add(desc);            //设置每页的Meta内容中的Keyword
                HtmlMeta keywords = new HtmlMeta();
                keywords.Name = "keywords";
                keywords.Content = "设置每页的Meta内容中的Keyword";
                Page.Header.Controls.Add(keywords);
                base.OnPreLoad(e);
            }
    }
      

  3.   

     System.Web.UI.HtmlControls.HtmlMeta m = new HtmlMeta();
                m.Name = "";
                m.Content = "";
                System.Web.UI.Page p = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
                p.Header.Controls.Add(m);inc文件或转义字符