سؤال

كما نرى على الرغم من فريقنا الحفاظ على إنترانت التي العملاء المستخدمين مضمونة إلى تفعيل جافا سكريبت ونحن نعلم أننا يمكن أن الخطوة والبدء باستخدام مسج أكثر "شمولا".نظامنا بشكل كبير جدا, حتى على الرغم من أننا استخدام المناطق في ASP.NET MVC تطبيق الكم الهائل من الصفحات إضافة, تعديل, حذف وعرض مجموعات من البيانات في النظام الفرعي من منطقة حقا كبيرة جدا.وهو نظام فرعي من منطقة يمكن أن يكون ما يقرب من عشرين جداول البيانات.إذا كان هناك عشرين جداول البيانات لديك صفحات فردية إضافة, تعديل, حذف وعرضها وهذا يعني أن هناك ما مجموعه 60 صفحات.الآن تخيل أن هناك عشرين النظم الفرعية في المنطقة ، ثم منطقة واحدة 20 * 60 صفحة ، وليس لدينا ما يقرب من 15 المجالات على الشبكة الداخلية لدينا.يمكنك الحصول على نقاط ضخمة.

ننتقل إلى نقطة حقيقية ، أنا الرغبة في قطع هذا باستخدام مسج قدرات وجود جدول البيانات على صفحة ضرب "حذف" و إعطائي حذف الحوار مع زر التأكيد الذي سوف ثم إرسال النموذج ، وإعادة توجيه إلى تصحيح العمل للقيام بهذا العمل بالنسبة لي.الآن أنا بحاجة إلى بعض التوجيه في المجالات التالية:

  1. إذا أردت أن تحذف دون نشر مرة أخرى في كل استخدام ASP.NET MVC ما تفعل هذا ؟ وهذا يشمل ضرب حذف هذا الخروج و التحقق من انها قادرة على حذف (FK العلاقات يجب التعامل معها بالطريقة الصحيحة) ، ثم إذا كان قادرا على حذف و إزالة صف من الجدول في طريقة العرض ، كل ذلك من دون تحديث الصفحة.
  2. كيف يمكنني الاتصال حذف من عملية متزامنة باستخدام jQuery ؟ هل من الحكمة أن تفعل ذلك ؟ وعادة ما نستخدم Html.ActionLink.يجب أن التفاف عليه في النموذج ؟
  3. الشيء نفسه ينطبق على تحرير وتحديث مرة أخرى ما هي أفضل طريقة للقيام بذلك ؟

أنا أبحث عن حل رائع و شيء ليس من الصعب تطبيق كل صفحة يجب أن أفعل هذا.أي إدخال سيكون محل تقدير كبير.

هل كانت مفيدة؟

المحلول

أنا أعمل على مشروع يستخدم وصلات إلى النار قبالة حذف الإجراءات عبر AJAX آخر (لا إعادة النشر).

$("a.deleteLink").click(function(event)
{
    event.preventDefault();
    if (confirm("Are you sure you want to delete this section?"))
    {
        //TODO Display processing indicator

        var myId = /* id of element */ ;

        $.post("/Section/Delete", { id: myId }, function(data)
        {
            if (data == "Success")
            {
                //handle success
                //TODO Fade out element using .fadeOut()
            }
            else
            {
                //handle error
            }
        });
    }
});

طريقة تحكم ببساطة في /وحدات التحكم/SectionController.cs.لا يقبل إلا بعد كما أن أي إجراء تغييرات في قاعدة البيانات.

    private SectionRepository secRepo = new SectionRepository();

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Delete(long id)
    {
        Section sec = secRepo.GetById(id);

        secRepo.Delete(sec);
        secRepo.Save();

        return Content("Success");
    }

نصائح أخرى

للتو أنتهيت من مشاهدة الفيديو على بعض النموذجيه التي يمكنك الحصول عليها ASP.NET MVC مع دون سرعة الصوت.في حين كنت لا تزال لم تنفذ هذا أو حتى حاولت ذلك ، يبدو لا يصدق!نلقي نظرة هنا.


لست متأكدا إذا كان هذا هو الخيار ممكنا أو لا ، ولكن كان لدينا مؤخرا حاجة مماثلة ليدكم و تم إطلاق التطبيق الأساسي باعتبارها ASP.NET MVC التطبيق (باستخدام jQgrid) ثم الثانوي ASP.NET نماذج ويب التطبيق لدينا ميزات المشرف باستخدام البيانات الديناميكية.هذا وقد عملت بشكل جيد للغاية و حفظ لنا الكثير من الوقت.

كما يبدو DynamicData و MVC سوف تكون قادمة معا في بعض الإصدارات القادمة.

القراءة الأخرى...
* ديفيد هايدن
* rbqsoft
* حادة العمارة ويكي

تشاد مايرز له مقالة جيدة على هذا.

أيضا واحد من دينو اسبوزيتو.

إذا كنت تريد أيضا أن رمي مسج الحوار إلى الحزب ، ريكاردو Covo بعد يقوم بعمل جيد

enter image description here

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top