قم بتحديث لوحة المحتوى فقط في الصفحة الرئيسية على الصفحة التنقل في ASP.NET MVC
-
05-07-2019 - |
سؤال
لديّ صفحة رئيسية بها رأس وقائمة ومحتوى وأجزاء تذييل في تطبيق 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);
}