PDA

View Full Version : سوال: نحوه جستجو در ASP.net MVC



darrudi
چهارشنبه 11 اسفند 1389, 12:21 عصر
من دنبال کدی هستم که در MVC جستجو پایگاه داده رو انجام بده.می دونید که در MVC ما sqldatasource نداریم که بخوایم selectCommand رو مساوی با اون query جستجو قرار بدیم.راه حل چیه؟
ممنونم.

Editali
دوشنبه 16 اسفند 1389, 17:13 عصر
باید از Linq استفاده کنی و تمام Query هاتو به عنوان Model به View بفرستی و اونجا نمایش بدی

darrudi
سه شنبه 17 اسفند 1389, 10:52 صبح
باید از Linq استفاده کنی و تمام Query هاتو به عنوان Model به View بفرستی و اونجا نمایش بدی

سلام . میدونیم که از Linq باید استفاده کنیم . اما مشکل اینه که چجوری واسه دکممون ایونت تعریف کنیم که دکمرو زدیم نتیجه جستجو نمایش داده بشه؟ ممنون

darrudi
پنج شنبه 19 اسفند 1389, 14:52 عصر
سلام.کسی نیست جواب بده؟

hamedsabzian
شنبه 21 اسفند 1389, 14:30 عصر
دوست عزیر!
در MVC شما فرم را submit می کنید. که متعاقبا یک اکشن-متد در controller فراخوانی می شود. شیوه ی کار با WebForm ها متفاوت است. در اینجا شما با تگ های html سروکار دارید.
در همین سایت نمونه کد وجود دارد.

Editali
سه شنبه 09 فروردین 1390, 02:26 صبح
ببین دوست عزیز، در MVC برخلاف ASP.Net همه چیزو باید خودت بسازی، یعنی هیچ CodeBehindeی وجود نداری که برای دکمه Event تعریف کنید.
باید مقادری که post میشه رو خودت بگیری و از اون استفاده کنی.
اگر مایلی دقیقا بگو که قصد انجام چه کاریو داری، شاید بتونم کمکت کنم.

madadi
سه شنبه 20 اردیبهشت 1390, 05:02 صبح
برای پیاد سازی فرمی که عمل جستجو را انجام دهد ، ابتدا 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 مربوطه می فرستد و دنباله کد هم برای چاپ جواب است.