با سلام. من درون پروژه یه دکمه زدم که با کلیک روی این دکمه به اکشنی روی کنترلر میره و باید یه پارشیال ویو رو به صورت popup باز کنه.
هرکاری هم بود کردم اما موفق نشدم کاری از پیش ببرم.
<button type="button" class="btn btn-default btn-md" data-toggle="modal" data-url="@Url.Action("CreateDepartMent","baseinfo")" id="btnCreateAsset"> <span class="glyphicon glyphicon-new-window" aria-hidden="true"></span> ایجاد دپارتمان </button>
این متد مورد نظر :
public ActionResult CreateDepartMent() { var model = new EditDepartmentVM(); return View("_CreateDepartmentPartial", model); }
اصن سمت پارشیال نمیره ... توی همون صفحه میمونه.
یه سوال دیگه هم هست. که اونم مرتبطه با این سوال.
من از datatables.mvc استفاده کردم برای گرید . برای edit که به صورت popup باز میشه ، همیشه request.isAjax داخل اکشن، مقدار false برمیگردونه و اصلا به اون popup نمیرسه که بخواد رندر کنه. سرچ کردم که گفته بودن مشکل از نسخه jquery ,و نبود فایلی به اسم jquery.unobtrusive-ajax.min هست که بازم درست نشد.
این کد گرید و اکشن واسه edit:
{ "title": "عملیات", "data": "deptId", "searchable": false, "sortable": false, "render": function (data, type, full, meta) { return '<a href="@Url.Action("EditDepartment", "baseinfo")?id=' + data + '" class="btn btn-app"><i class="fa fa-edit"></i> ویرایش</a> <a href="@Url.Action("DetailsDepartment", "BaseInfo")?id=' + data + '" class="btn btn-app"><i class="fa fa-file-text"></i> جزئیات</a> <a href="@Url.Action("DeleteDepartments", "BaseInfo")?id=' + data + '" class="btn btn-app"><i class="fa fa-trash"></i> حذف</a>'; }
اکشن :
public ActionResult EditDepartment(int id)
{
var dept = _department.FirstOrDefault(x => x.deptId == id);
EditDepartmentVM editmodel = MapToDepartmentViewmodel(dept);
if(Request.IsAjaxRequest())
return PartialView("_EditDepartmentPartial", editmodel);
return View(editmodel);
}
اکر این دو مشکل حل بشن 50 درصد پروژه اوکی میشه. خواهش میکنم کمکم کنید . ممنون
سلام.
مسئله ای که هست اینکه من اینو از یه سمپل برداشتم. سمپل مثل هلو جواب میده.
دیروز روی مدال بیشتر کار کردم و فهمیدم ویو مدلی که به پارشیال پاس میدم اونی نیست که انتظار داره. الان وقتی رو دکمه کلیک میشه بک گراند مدال میاد(صفحه تاریک میشه) هیچ چیزی روی صفحه کار نمیده تا وقتی Esc رو نزنی اما اون فرمش باز نمیشه!
مدال درست شد. ممنون.
ولی مشکل Request.IsAjaxRequest همچنان هست با اینکه تمام فایل های جی کوئری مرتبط هم اد شده.
ظاهرا یکی تو این پست گفته یه attribute باید درست کنم که اگر header شامل X-Requested-With نبود خودش به هدر اضافه میکنه!
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)