我正在为我的网站创建一个迷你cms。我想创建一个页面管理员,让用户创建页面并向他们的页面添加元标记。所以我用这些列创建了一个SQL Server数据库表:
[PageName](primary key)
,[Body] - used to pull the html of the page from the sql database
,[Title]
,[Description] - meta description
,[Keywords] - meta keywords
我使用pagename列创建了查询字符串。到目前为止,我可以让身体显示但没有一个元信息。这是我到目前为止所得到的:
<asp:Repeater runat="server" ID="Repeater1" DataSourceID="BodyContent">
<ItemTemplate>
<asp:Label ID="lblPage" runat="server" Text='<%# Eval("Body") %>' />
</ItemTemplate>
</asp:Repeater>
因此,例如我的查询字符串将是/c.aspx?pagename=test
- 这会正确地提取正文内容,但没有别的。
SqlDataSource
:
<asp:SqlDataSource ID="BodyContent" runat="server"
ConnectionString="<%$ ConnectionStrings:testDb %>"
SelectCommand="SELECT [PageName], [Body], [Title], [Description], [Keywords] FROM [PageAdmin] WHERE ([PageName] = @PageName)">
<SelectParameters>
<asp:QueryStringParameter Name="PageName" QueryStringField="PageName" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
如何从数据库中提取标题,关键字和说明?
由于
答案 0 :(得分:0)
凭借执行的查询,它们已经包含在SqlDataSource
中;
SELECT [PageName],[Body],[Title],[Description],[Keywords]
然后你可以用同样的方式引用它们;
<ItemTemplate>
<asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>' />
</ItemTemplate>
答案 1 :(得分:0)
您可以在代码文件中添加元标记
Page.Title = "Your Page title";
//Page description
HtmlMeta pagedesc = new HtmlMeta();
pagedesc.Name = "Description";
pagedesc.Content = textbox2.Text;
Header.Controls.Add(pagedesc);
//page keywords
HtmlMeta pagekeywords = new HtmlMeta();
pagekeywords.Name = "keywords";
pagekeywords.Content = textbox1.Text;
Header.Controls.Add(pagekeywords);
在cms中使用文本框添加元关键字,使用另一个文本框添加元标记。用逗号分隔每个meta关键字。