ASP.NET Forums 2.0 本地化修改(五) - 增加页面Meta标记的keywords和description
由于最近工作比较忙,文章只贴出修改的笔记,稍微加了说明,如看不明白,可发评论讨论
增加页面Meta标记的keywords和description
通过增加站点设置属性实现
1、首先扩展站点设置类(SiteSettings),增加我们需要的新的属性(MetaKeywords和MetaDescription)
2、修改PageTitle控件,增加(MetaKeywords和MetaDescription)的输出
3、增加资源文件,用于后台管理显示
4、修改后台管理页的UI界面,主要增加这两个属性的文本框,提供用户进行管理的界面
5、将原设置取出,显示到文本框中,由用户修改,修改完后,将其保存回数据库。
1、修改\Components\Components\SiteSettings.cs
增加如下代码:
页面Meta 标签属性
2、修改Controls项目的PageTitle.cs文件
找到代码
if (user != null)
base.Text = "<title>" + Title + " (" + user.Nickname + ")</title>\n";
else
base.Text = "<title>" + Title + "</title>\n";
base.Text = "<title>" + Title + " (" + user.Nickname + ")</title>\n";
else
base.Text = "<title>" + Title + "</title>\n";
base.Text += "<meta name=\"keywords\" content=\"" + Globals.GetSiteSettings().MetaKeywords + "\">\n";
base.Text += "<meta name=\"description\" content=\"" + Globals.GetSiteSettings().MetaDescription + "\">";
base.Text += "<meta name=\"description\" content=\"" + Globals.GetSiteSettings().MetaDescription + "\">";
3、资源文件:\Languages\zh-CN\Resources.xml
增加如下3行:
<!--增加页面的meta标签(Keywords,Description)方便搜索引擎 by jacky 20041119-->
<resource name="Admin_SiteSettings_Meta_Keywords">META标签Keywords</resource>
<resource name="Admin_SiteSettings_Meta_Description">META标签Description</resource>
<resource name="Admin_SiteSettings_Meta_Keywords">META标签Keywords</resource>
<resource name="Admin_SiteSettings_Meta_Description">META标签Description</resource>
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>
<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;
protected TextBox metaDescription;
protected TextBox metaKeywords;
在DataBind方法的最后,添加
//added by jacky 2004-11-19
META标签属性设置
META标签属性设置
在Save_Click事件的settings.Save();上面,添加下列代码
//added by jacky 2004-11-19
META标签属性设置
META标签属性设置