2013-03-20 85 views
2

我已創建該視圖上一個視圖索引&我有發生在那個視圖一個共享視圖,但現在我必須調用從共享視圖(_TraningList)如何從mvc 4 razor中的共享視圖訪問控制器操作?

這是索引視圖

對於控制器操作我有做以下

@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> 

012件事

這是控制器

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

你真不該叫** **附加的方法是不帶任何參數,你的意見。你可以把這個'List '放到你的模型中,然後把這個Index視圖的邏輯放到你的共享視圖中。 – mattytommo 2013-03-20 11:57:44

回答

3

您可以使用RenderAction

調用子操作方法並呈現在父視圖結果內嵌。

@{ Html.RenderAction("Action", "Controller"); } 
相關問題