ASP.NET MVC و PartialView المغطى بقوة
-
23-09-2019 - |
سؤال
أقوم بتحميل طريقة عرض جزئية مع مكالمة Ajax:
public ActionResult LoadServerForm()
{
//data stuff
ViewData["ApplicationID"] = appID.ToString();
ViewData["Servers"] = ServersList(appServerRep.Session, null, appServers);
return PartialView("Application_AddServer");
}
هذا يعمل بشكل رائع ، لكنني أحاول الابتعاد عن سلاسل Magic ViewData. حاولت جعل العرض الجزئي يرث من نفس العرض مثل صفحة "الاستضافة" ، لكن كائن النموذج لاغير عندما أحاول ذلك في العرض الجزئي:
<%= Html.HiddenFor(model=>model.Application_Key, Model.Application_Key) %>
هل هناك طريقة لتمرير Page ViewModel الرئيسية لأسفل إلى PartialView المحملة Ajax أو هل يجب أن أبحث عن نهج مختلف تمامًا؟
المحلول
عندما انت return PartialView("Application_AddServer");
, ، عليك تمرير النموذج:
return PartialView("Application_AddServer", model);
نظرًا لأن هذا طلب Ajax ، فهو عبارة عن دعوة منفصلة عن إجراء تحكم ، ولا يعرف PartialView الجديد عن نموذج الصفحة المطلوبة. سيتعين عليك إعادة بنائه ، إما من أي مصدر بيانات أصلي أو من البيانات التي تم تمريرها باستخدام طلب AJAX.
لا تنتمي إلى StackOverflow