如果我有一个页面区域,其中包含用于过滤搜索结果的不同选项(带有链接,复选框,选择等的无序列表)。应该使用什么html5标签来包装过滤器? A"部分"标签,"导航"标签或其他什么?
<div id="search-filters"> <!-- This should be a div, a nav, a section? -->
<h3>Price</h3>
<ul>
<li>less than 100</li>
<li>100 - 200</li>
<li>more than 200</li>
</ul>
<h3>Brand</h3>
<ul>
<li>Brand A</li>
<li>Brand B</li>
<li>Brand C</li>
</ul>
...
</div>
<section id="search_results">
...
</section>
答案 0 :(得分:6)
您可以使用header
element:
header
元素代表一组介绍性或导航辅助工具。
请注意,header
需要 在搜索结果的切片元素(在您的情况下为section
)中
<section id="search_results">
<h1>Search results</h1>
<header id="search-filters">
<!-- your filters -->
</header>
<article>
<!-- search result 1 -->
</article>
<article>
<!-- search result 2 -->
</article>
</section>
如果您愿意,也可以在h1
中添加header
。如果您需要为过滤器设置样式挂钩,则可以使用包装器div
。
如果您的过滤器相当复杂,例如如果您提供了许多过滤器,可能包含子标题,则可以在section
内使用header
元素:
<section id="search_results">
<h1>Search results</h1>
<header id="search-filters">
<section>
<h2>Filter the results</h2>
<!-- your filters -->
</section>
</header>
<article>
<!-- search result 1 -->
</article>
<article>
<!-- search result 2 -->
</article>
</section>
答案 1 :(得分:1)
怎么样:
<nav role="search">
...
</nav>
我知道这不完美,因为......
答案 2 :(得分:-4)
我会在html中使用这样的东西:
<form method="get">
Search By Client Name: <input type="search" name="searchText" />
<input type="submit" value="Search" />
</form>
在控制器中,有这样的事情:
// GET: /Clients/
MyContextDB db = new MyContextDB();
public ActionResult Index(string searchText = null)
{
var model =
db.ClientProfiles
.OrderBy(r => r.ClientName)
.Where(r => searchText == null || r.ClientName.StartsWith(searchText))
.Take(2)
.Select(r => new ClientListViewModel {
ClientId = r.ClientId,
ClientName = r.ClientName,
....
});
return View(model);
}