مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

mansoun

عضویت از 1394/03/24

باز نشدن modal

  • دوشنبه 15 مرداد 1397
  • 17:55
تشکر میکنم

با سلام. من درون پروژه یه دکمه زدم که با کلیک روی این دکمه به اکشنی روی کنترلر میره و باید یه پارشیال ویو رو به صورت 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 درصد پروژه اوکی میشه. خواهش میکنم کمکم کنید . ممنون

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

AmirGhasemi

عضویت از 1392/02/25

  • دوشنبه 15 مرداد 1397
  • 19:44
سلام. از ajax استباده کن. در حال حاضر در تاکسی هستم و امکان ارسال سورس ندارم براتون اما روی دکمه یه ایجکس صدا کن و از طریق ایجکس کنترلر را صدا بزن
کاربر سایت

mansoun

عضویت از 1394/03/24

  • سه شنبه 16 مرداد 1397
  • 10:02

سلام.

مسئله ای که هست اینکه من اینو از یه سمپل برداشتم. سمپل مثل هلو جواب میده.

دیروز روی مدال بیشتر کار کردم و فهمیدم ویو مدلی که به پارشیال پاس میدم اونی نیست که انتظار داره. الان وقتی رو دکمه کلیک میشه بک گراند مدال میاد(صفحه تاریک میشه) هیچ چیزی روی صفحه کار نمیده تا وقتی Esc رو نزنی اما اون فرمش باز نمیشه!

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 16 مرداد 1397
  • 11:45
کاربر سایت

mansoun

عضویت از 1394/03/24

  • سه شنبه 16 مرداد 1397
  • 16:11

مدال درست شد. ممنون.

ولی مشکل Request.IsAjaxRequest همچنان هست با اینکه تمام فایل های جی کوئری مرتبط هم اد شده.

ظاهرا یکی تو این پست گفته یه attribute باید درست کنم که اگر header شامل X-Requested-With  نبود خودش به هدر اضافه میکنه!

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)