説明を検索するために使用される2つのドロップダウンリストを持つビューがあります。結果のリストは、今のところ別のビューに表示されます。同じ検索ビューで結果を生成したいと考えています。これを整理するためにいくつかAJAX
またはJquery
使用できると思いますが、方法がわかりません。では、この場合、検索結果を同じビュー ページに表示するにはどうすればよいでしょうか。
さらに、私はいくつかの疑問を持っていSearch controller
ます。少なくとも 1 つのドロップダウン リストを選択する必要があります (両方のドロップダウン リストを null にすることはできません)。その部分を検証するにはどうすればよいですか?
意見
@using (Html.BeginForm("Search","Work",FormMethod.Get))
{
<fieldset>
<legend>Search</legend>
<div class="editor-label">
@Html.LabelFor(model => model.JobTypeID, "Job Type")
</div>
<div class="editor-field">
@Html.DropDownList("JobTypeID", "Select Job Type")
</div>
<div class="editor-label">
@Html.LabelFor(model => model.JobPriorityID, "Job Priority")
</div>
<div class="editor-field">
@Html.DropDownList("JobPriorityID", "Select Job Priority")
</div>
<p>
<input type="submit" value="Search" />
</p>
</fieldset>
}
コントローラ:
[HttpGet]
public ActionResult Search(int? jobtypeid, int? jobpriorityid)
{
var vJobDescriptions = new List<JobDescription>();
if (jobtypeid != null && jobpriorityid != null )
{
vJobDescriptions = (from description in db.JobDescriptions
where (description.JobTypeID == jobtypeid && description.JobPriorityID == jobpriorityid)
select description).ToList();
}
else if (jobtypeid == null && jobpriorityid != null)
{
vJobDescriptions = (from description in db.JobDescriptions
where (description.JobPriorityID == jobpriorityid)
select description).ToList();
}
else if (jobtypeid != null && jobpriorityid == null)
{
vJobDescriptions = (from description in db.JobDescriptions
where (description.JobTypeID == jobtypeid)
select description).ToList();
}
else
{
vJobDescriptions = (from description in db.JobDescriptions
select description).ToList();
}
return View(vJobDescriptions);
}