我有一個視圖,其中有兩個下拉列表用於搜索描述。現在,結果列表將顯示在另一個視圖中。我希望在相同的搜索視圖中生成結果。我假設一些AJAX
或Jquery
可以用來解決這個問題,但不知道如何。那麼,在這種情況下,搜索結果如何顯示在同一個視圖頁面中呢?使用jQuery和MVC進行客戶端服務器搜索
此外,我有一些疑問Search controller
。我想至少選擇一個下拉列表(兩個下拉列表不應該被允許爲空)。我如何驗證該部分?
查看
@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);
}