PDA

View Full Version : ارسال پارامترهای ViewModel به اکشن



helpsos
جمعه 06 تیر 1393, 02:24 صبح
سلام به همه
من یه فرم دارم که کار جستجو را برام انجام میده و در بالای لیست اطلاعاتم نمایش داده می شود.
کار جستجو به درستی انجام می شود و اطلاعات این فرم به درستی به اکشن در کنترلر ارسال می شود.
مشکل وقتی شروع میشه که من روی اون لینکهایی که برای صفحه بندی لیست نوشتم، کلیک که می کنم اطلاعات فرم جستجو را برام نمی فرسته که عملیات جستجو را انجام بده و مثلا صفحه 2 از اطلاعات جستجو شده را برام برگردونه.
البته این منطقیه چون این لینک ها که به صورت ajax اند داخل فرم جستجو نیستند که بخواهند اطلاعات را بفرستند.
حالا
خواستم ببینم که چطوری میشه این اطلاعات را ارسال کنم.


@Ajax.ActionLink(Html.ConvertToPersianString(i + 1).ToString(), "DataTable", "Phone", new {" مثلا اینجا میشه یه جوری اطلاعات فرم جستجو را یه دفعه به اکشن ارسال کرد", page = i, count = ViewBag.COUNT }, new AjaxOptions { HttpMethod = "Post", InsertionMode = InsertionMode.Replace, UpdateTargetId = "table" }, new { @class = "nodecoration" })

این هم کد اکشن در کنترلر:

public async Task<ActionResult> DataTable([Bind(Include = "ByName,Name,ByNumber,Number")] SearchContactViewModel searchContact,int page = 0, int count = 10)

ali_autumnal
دوشنبه 09 تیر 1393, 23:17 عصر
شما هربار که جستجو اتفاق می افته بایستی لینک ها رو هم آپدیت کنید.

2 روش واسه این کار داریم:


1:
مقدار برگشتی از سمت سرور باید حاوی پارامترهایی باشه که بتونید لینک هارو با اون پارامترها آپدیت کنید درواقع مقدار برگشتی همون ViewModel هست

2:
پاک کردن صورت مسئله و روش ساده:

اینکه پس از کلیک بروی جستجو توسط JQuery پارامترهای لینک ها رو تغییر بدید.