مشكلة إرجاع طريقة عرض محددة في ASP.NET MVC3
-
25-09-2019 - |
سؤال
لدي بنية ملف عرض مثل:
Views
Company
Department
Employee
ManageEmployee.cshtml
ووحدة التحكم
public class EmployeeController : Controller
{
public ActionResult Index(int dptId)
{
var loadedEmp = getEmpOf(dptId);
return View("Company/Employee/ManageEmployee", loadedEmp);
}
}
لكن وحدة التحكم تعطيني خطأ - أخبرني أنه لا يمكن العثور على العرض. هذه هي المسارات التي يبحث عنها.
~/Views/Employee/Company/Employee/ManageEmployees.aspx
~/Views/Employee/Company/Employee/ManageEmployees.ascx
~/Views/Shared/Company/Employee/ManageEmployees.aspx
~/Views/Shared/Company/Employee/ManageEmployee.ascx
~/Views/Employee/Company/Employee/ManageEmployee.cshtml
~/Views/Employee/Company/Employee/ManageEmployee.vbhtml
~/Views/Shared/Company/Employee/ManageEmployee.cshtml
~/Views/Shared/Company/Employee/ManageEmployee.vbhtml
في الأساس إذا كنت قادرًا على القضاء على الموظف القسم ، سيجد المحرك.
~/وجهات النظر/الموظف/company/employee/manageemploye.cshtml الى هذا
~/وجهات النظر/الشركة/الموظف/إدارة الموظفين
أي رؤى حول كيفية تحقيق ذلك.
شكرًا.
المحلول
تحتاج إلى اتباع اتفاقية MVCS لـ CountryAmeController لوحدة التحكم الخاصة بك وهيكل طريقة العرض الخاصة بك من اسم التحكم/...
إذا كنت تريد التحكم الكامل في هيكلك ، فستحتاج إلى التبديل إلى إطار عمل مختلف مثل fubumvc.
نصائح أخرى
هل جربت:
return View("/Company/Employee/ManageEmployee", loadedEmp);
يبدو أن المحرك يحاول إعادة العرض بالنسبة لموقعك الحالي في الموقع بدلاً من جذر الموقع.
يجب إرجاع العرض من وحدة التحكم بالطريقة التالية (للعرض المحدد):
return View("ManageEmployee", loadedEmp);
في MVC ، ستوجه وحدة التحكم تلقائيًا إلى اسم العرض الذي قدمته.
loadedEmp
يجب أن يكون الكائن الذي تنقله إلى العرض.
إذا كنت تريد اتفاقية خاصة بك لترتيب هياكل مجلد العرض ، فسيكون من الأفضل توصيل محرك View الخاص بك.