动态输入元标记-Asp.net/SQL Server

本文关键字:net SQL Server -Asp 输入 动态 | 更新日期: 2023-09-27 18:01:00

我正在为我的网站创建一个迷你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>

如何从数据库中提取标题、关键字和描述?

感谢

动态输入元标记-Asp.net/SQL Server

您可以在代码文件中添加元标记

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中的textbox添加元关键字,另一个用于描述元标签。用逗号分隔每个元关键字。

通过执行查询,它们将已包含在SqlDataSource中;

SELECT[PageName],[Body],[Title],[Description],[Keywords]

然后,您可以以相同的方式引用它们;

  <ItemTemplate>
        <asp:Label ID="lblTitle" runat="server" Text='<%# Eval("Title") %>' />
  </ItemTemplate>