قم بتحديث لوحة المحتوى فقط في الصفحة الرئيسية على الصفحة التنقل في ASP.NET MVC

StackOverflow https://stackoverflow.com/questions/1605470

سؤال

لديّ صفحة رئيسية بها رأس وقائمة ومحتوى وأجزاء تذييل في تطبيق ASP.NET MVC (C#).

لا أريد تحديث ألواح الرأس والتذييل في كل صفحة ، يجب أن يتم تحديث القائمة وأجزاء المحتوى فقط.

كيف يمكنني تحقيق ذلك في تطبيق ASP.NET MVC؟ أي اقتراحات

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

المحلول

يمكن تحقيق حمولة Ajax النقية من داخل الصفحات عن طريق التقاط نقرات الارتباط في التنقل إلى شيء مثل:

$('a:not(.external)').each(function(){
  $(this).attr('href', '#'+this.href);
});

ثم يمكنك استخدام jQuery BBQ Plugin لإدارة زر الظهرك وتحميل صفحتك باستخدام 'onhashchange' حدث. سيسمح لك ذلك بتحميل Ajax لكل جزء من الأجزاء الرئيسية للصفحة (على الأرجح مع أ $('#main-div').load(url); اكتب المكالمة). يقوم العرض التجريبي لشواء BBQ بالضبط بما تريده ، مع الفائدة الإضافية التي لا تدمر زر العودة ، لذلك أقترح إلقاء نظرة فاحصة على ذلك.

نصائح أخرى

قم بإجراء مكالمات Ajax إلى وحدة التحكم ، مثل أدناه وإنشاء "*.ascx" partialView الذي تحتاجه

    $('#divMainContent').load("./LoadMainContent");



    [Authorize]
    public ActionResult LoadMainContent()
    {
        return PartialView("MainContent", sp);

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