在 asp net mvc 中添加搜索栏
Add a search bar in asp net mvc
我需要在我的索引页上添加一个搜索栏,搜索结果将显示在另一个页面上。
我尝试过的:
风景
<form class="row contact-form rounded-pill link no-gutters" id="contact-form-data">
@using (Html.BeginForm("RechercheResto", "Client", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="col-12 col-lg-8 d-inline-block d-lg-flex align-items-center">
<div class="form-group">
<label><i class="lni lni-restaurant" aria-hidden="true"></i></label>
<input type="text" name="nomResto" placeholder="Nom du restaurant" class="form-control">
</div>
</div>
<div class="col-12 col-lg-4">
<i class="fa fa-spinner fa-spin mr-2 d-none" aria-hidden="true"></i>
<input type="submit" class="btn main-btn rounded-pill w-100 h-100 contact_btn" value="Rechercher le restaurant" />
</div>
}
</form>
控制器
[ValidateAntiForgeryToken]
public ActionResult RechercheResto(string nomResto)
{
var restoList = from r in db.Restaurants select r;
if (!string.IsNullOrEmpty(nomResto))
{
restoList = restoList.Where(r => r.name.Contains(nomResto));
}
return View(restoList.ToList());
}
在返回 View(restoList.ToList()) 时,您可以在第一个参数中添加视图名称,第二个将是您的 result.ToList()。
感谢您的帮助。我刚找到解决方案。问题是我放在 BeginForm 之前。
工作代码看起来像这样
@using (Html.BeginForm("RechercheResto", "Client", FormMethod.Post, new { @class= "row contact-form rounded-pill link no-gutters"}))
{
@Html.AntiForgeryToken()
<div class="col-12 col-lg-8 d-inline-block d-lg-flex align-items-center">
<div class="form-group">
<label><i class="lni lni-restaurant" aria-hidden="true"></i></label>
<input type="text" name="nomResto" placeholder="Nom du restaurant" class="form-control">
</div>
</div>
<div class="col-12 col-lg-4">
<i class="fa fa-spinner fa-spin mr-2 d-none" aria-hidden="true"></i>
<input type="submit" class="btn main-btn rounded-pill w-100 h-100 contact_btn" value="Rechercher le restaurant" />
</div>
}
我需要在我的索引页上添加一个搜索栏,搜索结果将显示在另一个页面上。
我尝试过的:
风景
<form class="row contact-form rounded-pill link no-gutters" id="contact-form-data">
@using (Html.BeginForm("RechercheResto", "Client", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div class="col-12 col-lg-8 d-inline-block d-lg-flex align-items-center">
<div class="form-group">
<label><i class="lni lni-restaurant" aria-hidden="true"></i></label>
<input type="text" name="nomResto" placeholder="Nom du restaurant" class="form-control">
</div>
</div>
<div class="col-12 col-lg-4">
<i class="fa fa-spinner fa-spin mr-2 d-none" aria-hidden="true"></i>
<input type="submit" class="btn main-btn rounded-pill w-100 h-100 contact_btn" value="Rechercher le restaurant" />
</div>
}
</form>
控制器
[ValidateAntiForgeryToken]
public ActionResult RechercheResto(string nomResto)
{
var restoList = from r in db.Restaurants select r;
if (!string.IsNullOrEmpty(nomResto))
{
restoList = restoList.Where(r => r.name.Contains(nomResto));
}
return View(restoList.ToList());
}
在返回 View(restoList.ToList()) 时,您可以在第一个参数中添加视图名称,第二个将是您的 result.ToList()。
感谢您的帮助。我刚找到解决方案。问题是我放在 BeginForm 之前。
工作代码看起来像这样
@using (Html.BeginForm("RechercheResto", "Client", FormMethod.Post, new { @class= "row contact-form rounded-pill link no-gutters"}))
{
@Html.AntiForgeryToken()
<div class="col-12 col-lg-8 d-inline-block d-lg-flex align-items-center">
<div class="form-group">
<label><i class="lni lni-restaurant" aria-hidden="true"></i></label>
<input type="text" name="nomResto" placeholder="Nom du restaurant" class="form-control">
</div>
</div>
<div class="col-12 col-lg-4">
<i class="fa fa-spinner fa-spin mr-2 d-none" aria-hidden="true"></i>
<input type="submit" class="btn main-btn rounded-pill w-100 h-100 contact_btn" value="Rechercher le restaurant" />
</div>
}