JACKY SUN

Good Good Study, Day Day Up.

HiForums(Asp.Net Forums)开发指南(五):增加页面Meta标记的keywords和description

来源:原创 发表时间:2006-07-19 22:46:05 查看:780 评论:0

由于最近工作比较忙,文章只贴出修改的笔记,稍微加了说明,如看不明白,可发评论讨论

增加页面Meta标记的keywords和description
通过增加站点设置属性实现
1、首先扩展站点设置类(SiteSettings),增加我们需要的新的属性(MetaKeywords和MetaDescription)
2、修改PageTitle控件,增加(MetaKeywords和MetaDescription)的输出
3、增加资源文件,用于后台管理显示
4、修改后台管理页的UI界面,主要增加这两个属性的文本框,提供用户进行管理的界面
5、将原设置取出,显示到文本框中,由用户修改,修改完后,将其保存回数据库。

1、修改\Components\Components\SiteSettings.cs
增加如下代码:

#region 页面Meta 标签属性
        
//added by jacky
        
//2004-11-19
        
//增加页面的Meta标签:Keywords和Description属性
        /// 
        
/// 页面Meta标记的Keywords属性
        
/// 

        public string MetaKeywords
        
{
            
get 
            
{
                
string key = "MetaKeywords";

                
if (settings[key] != null)
                    
return (string) settings[key];
                
else
                    
return "";
            }

            
set 
            
{
                settings[
"MetaKeywords"= value;
            }

        }

        
/// 
        
/// 页面Meta标记的Description属性
        
/// 

        public string MetaDescription
        
{
            
get 
            
{
                
string key = "MetaDescription";

                
if (settings[key] != null)
                    
return (string) settings[key];
                
else
                    
return "";
            }

            
set 
            
{
                settings[
"MetaDescription"= value;
            }

        }

        
#endregion

 

2、修改Controls项目的PageTitle.cs文件

找到代码

if (user != null)
                    
base.Text = "\n";
                
else
                    
base.Text = "\n";
在其下面增加:
base.Text += ""keywords\" content=\"" + Globals.GetSiteSettings().MetaKeywords + "\">\n";
base.Text += ""description\" content=\"" + Globals.GetSiteSettings().MetaDescription + "\">";

 

3、资源文件:\Languages\zh-CN\Resources.xml

增加如下3行:


        
<resource name="Admin_SiteSettings_Meta_Keywords">META标签Keywordsresource>
        
<resource name="Admin_SiteSettings_Meta_Description">META标签Descriptionresource>

 

4、修改后台配置管理文件UI部分Admin\SiteSettings.aspx
找到SiteDescription,在其下的tr标签中加入下列代码,将此设置放在站点描述的多行文本框下面

<TR>
                    
<TD class="f" vAlign="top"><B><% = ResourceManager.GetString("Admin_SiteSettings_Meta_Description")%>B>
                    
TD>
                    
<TD class="fh">
                        
<asp:textbox id="metaDescription" runat="server" columns="55" rows="3" TextMode="Multiline">asp:textbox>TD>
                
TR>
                
<TR>
                    
<TD class="f" vAlign="top"><B><% = ResourceManager.GetString("Admin_SiteSettings_Meta_Keywords")%>B>
                    
TD>
                    
<TD class="fh">
                        
<asp:textbox id="metaKeywords" runat="server" columns="55" rows="3" TextMode="Multiline">asp:textbox>TD>
                
TR>

 

5、修改后台配置管理文件代码部分部分Admin\SiteSettings.aspx.cs
增加TextBox定义,代码如下:

//added by jacky  2004-11-19
protected TextBox metaDescription;
protected TextBox metaKeywords;

 

在DataBind方法的最后,添加
//added by jacky 2004-11-19
            META标签属性设置

在Save_Click事件的settings.Save();上面,添加下列代码

//added by jacky 2004-11-19
            META标签属性设置

 





姓名:  
邮件: 不在页面显示,作者回复后将通过邮件通知您
网站:
验证码:  
内容: