2013-03-20 2 views
2

У меня есть создать один индекс вида & на этой точки зрения у меня есть место один общий взгляд на эту точку зрения, но теперь я должен назвать действие контроллера из общей точки зрения (_TraningList)Как получить доступ к действию контроллера из общего вида в mvc 4 бритве?

это вид индекс

Для этого у меня есть сделать следующие вещи

@Html.Partial("~/Views/Shared/_TrainingList.cshtml", Model.First().Categories) 
@Html.Partial("_ConsultingList") 
@Html.Partial("_UpcomingWebinarList") 

это общей Посмотреть

@model IEnumerable<QPS_MVC.BusinessLogic.CourseCategories> 
<!--Training Box--> 
<div class="bodyContentWrp"> 
@*@Html.Action("Index", "Trainings")*@ 
<h1> 
    Training Programs</h1> 
@* <ul class="arw1"> 
      <li>Aerospace</li> 
      <li>Agile</li> 
      <li>APICS/SME Certifications</li> 
      <li>ASQ Certifications</li> 
      <li>FDA Related</li> 
      <li>HR Related</li> 
      <li>ISO Related</li> 
      <li>IT Certifications</li> 
      <li>Lean Six Sigma</li> 
      <li>PMI Certifications</li> 
     </ul> 
*@ 
@foreach (QPS_MVC.BusinessLogic.CourseCategories item in Model) 
{ 
    <ul> 
     <li>@Html.ActionLink(item.Name, "", "Trainings", new { SelectedId = item.CategoryID }, null)</li> 
     <li></li> 
    </ul> 
} 
<div class="clear"> 
</div> 
<div class="readMore"> 
    <a href="#">Read More</a></div> 
<div class="clear"> 
</div> 

Это контроллер

public ActionResult Index() 
    { 
     List<Courses> obj = new List<Courses>(); 

     if (Request.QueryString.Count > 0 && Request.QueryString["SelectedId"] != null && !string.IsNullOrEmpty(Request.QueryString["SelectedId"].ToString())) 
     { 

      obj = new CoursesApp().getAllCoursesById(int.Parse(Request.QueryString["SelectedId"].ToString())); 

     } 
     else 
     { 
      obj = new CoursesApp().getAllCourses(); 
      obj = new CoursesApp().getAllCoursesById(obj.First().Categories.First().CategoryID); 
     } 
     //if (ViewData["CategoryId"] == null || string.IsNullOrEmpty(ViewData["CategoryId"].ToString())) 
     //{ 
     // obj = new CoursesApp().getAllCourses(); 
     // obj = new CoursesApp().getAllCoursesById(obj.First().Categories.First().CategoryID); 
     //} 
     //else 
     //{ 
     // obj = new CoursesApp().getAllCoursesById(int.Parse(ViewData["CategoryId"].ToString())); 
     //} 
     return View(obj); 
    } 

Поэтому в основном я хочу, чтобы вызвать эту указательный действие с общим видом _trainingList я сделал выше вещь, но я не могу получить успех так, пожалуйста, любой один помочь мне.

+0

Вы не должны действительно назвать ** ** дополнительный метод, который не принимает никаких параметров в ваших взглядах. Вы можете поместить этот «Список » в свою модель, а затем просто поместите логику из этого указателя в общий вид. – mattytommo

ответ

3

Вы можете использовать RenderAction

Запускает метод ребенка действий и делает результат встроенный в родительское представление.

@{ Html.RenderAction("Action", "Controller"); }