【发布时间】:2011-03-05 14:16:37
【问题描述】:
如何使用带有 html 链接的 Pager(GridView 或 ListView)。 这段代码对 SEO 不友好,对吗? 谢谢。
【问题讨论】:
标签: javascript asp.net html seo
如何使用带有 html 链接的 Pager(GridView 或 ListView)。 这段代码对 SEO 不友好,对吗? 谢谢。
【问题讨论】:
标签: javascript asp.net html seo
你有两个问题。
首先: 您可以使用回发来实现寻呼机。基本上,您将在每次单击链接时调用服务器调用。服务器将回复数据集的新页面。但是 asp.net 控件使用 javascript 提交表单。它看起来像:
<a href="#" onclick="javscript:document.forms[0].submit();">link text</a>
因此,根本不使用 javascript,您可以使用仅 HTTP GET 方法。这只是一种方法。
因此,您想要生成的内容是,它将使用名为“page”的查询字符串参数将页面值传递给您的服务器。
您可以在您的 aspx 页面中以任何您认为合适的方式处理它。但它需要生成类似的东西。
<a href="./somepage.aspx?page=2">page 2</a>
在 somepage.aspx 的页面加载中你处理它。
protected void page_load(EventArgs e){
// check if the page parameter is set in the query string
if(Request.QueryString["page"] != null){
// page is the value of the requested page
var page = Request.QueryString["page"];
}
// bind you data to the control.
}
然后,当将数据绑定到您的 GridView 或 ListView 时,您可以根据请求的页面过滤数据。
【讨论】:
@pre 为您的第一个问题提供了很好的答案。
关于 SEO 和 JavaScript 的第二点:
JavaScript 必须正确使用。换句话说,html 必须具有蜘蛛阅读所需的链接和所有片段。如果 nav 元素是通过 JavaScript 注入的,那么您可以确保蜘蛛不会看到它们。
您当然可以使用 JavaScript 更改样式、重新定位分页器区域或添加其他属性,但必须存在具有适当 href 属性的基本锚标记。
【讨论】: