这是我目前在Index.cs
:
@model IEnumerable<MvcApplication7.Models.vwtest21>
<p>
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<b>Search By:</b> @Html.RadioButton("searchBy", "PROGCD", true) <text>PROGCD</text>
@Html.RadioButton("searchBy", "Date") <text>DOCRECDT</text><br />
@Html.TextBox("search") <input type="submit" value="Search" />
}
</p>
我想通过一个提交按钮将其从RadioButton
转换为两个字段过滤的PROGCD
和DOCRECDT
搜索。以下是我的HomeController
,如果我将其更改为已过滤的搜索,我根本不知道如何转换。
public class HomeController : Controller
{
private ProjectDBContext db = new ProjectDBContext();
public ActionResult Index(string searchBy, string search)
{
if (searchBy == "Date") //searchBy == "PROGCD")
{
return View(db.vwtest21.Where(x => x.DOC_REC_DT1 == search).ToList());
}
else
{
return View(db.vwtest21.Where(x => x.PROG_CD == search).ToList());
}
}
答案 0 :(得分:0)
首先,将视图更改为使用文本框而不是单选按钮。
@model IEnumerable<MvcApplication7.Models.vwtest21>
<p>
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<b>Search By:</b>
@Html.TextBox("progcd") <text>PROGCD</text>
@Html.TextBox("docrecdt") <text>DOCRECDT</text>
<input type="submit" value="Search" />
}
</p>
然后将控制器更改为按新文本框过滤。
public class HomeController : Controller
{
private ProjectDBContext db = new ProjectDBContext();
public ActionResult Index(string progcd, string docrecdt)
{
return View(db.vwtest21.Where(x => x.DOC_REC_DT1 == docrecdt && x.PROG_CD == progcd).ToList());
}
}
AND条件(&amp;&amp; )表示只返回符合两个搜索过滤条件的记录。如果要返回满足搜索条件的记录,您可能希望将其更改为OR条件( || )。