برای پیاد سازی فرمی که عمل جستجو را انجام دهد ، ابتدا Controller آن را ایجاد نمایید . مثلا کنترلر زیر با نام Search را در نظر بگیرید که دارای دو Action با نام Index است . اولی وقتی فراخوانی می شود که فرم نمایش داده می شود و دومی وقتی فراخوانی می شود که متنی برای جستجو تایپ شده و Post شود :
public class SearchController : Controller
{
//
// GET: /Search/
Person_DL db = new Person_DL();
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(string str)
{
str = Request["txtName"];
List<Person> result = new List<Person>();
result = (from n in db.Person where n.Name == str select n).ToList();
return View("Index", result);
}
}
توجه داشته باشید که با متد Request متن دریافتی در TextBox دریافت می شود . این هم کد View مربوطه :
@model List<TestMVC3.Person>
<h2>Index</h2>
@{ Html.BeginForm("Index" ,"Search" ); }
Eneter a name to search: @Html.TextBox("txtName")
<input type='submit' value='search' />
@{ Html.EndForm(); }
@if (Model != null) {
foreach (var item in Model)
{
<h3> Name:</h3> @item.Name
<h3> Family:</h3> @item.Family
}
}
همانطور که می بینید در خط اول View مدل داده ای که قرار است نمایش داده شود ، معرفی شده که از نوع جدول Person است . سپس یک فرم ایجاد شده که مقدار TextBox را به Action مربوطه می فرستد و دنباله کد هم برای چاپ جواب است.