2013-12-17 35 views
0

描述我的學校示例問題; 假設在_Layout.chtml有一個主菜單,有幾個班級的鏈接,即Class 1, Class 2, Class 3,...每個鏈接都顯示一個Grid中的學生列表,每個有一些Edit鏈接。該鏈接登錄我們Edit屏幕Student記錄。.NET MVC 4:如何設置在不同控制器的多個視圖中共享的局部視圖

現在要編輯的學生屬性分爲多個部分,即Personal, Educational, Sports, Transport。因此,需要在Student屬性的每個類別的左欄中顯示Menu。每個類別都有自己的ControllerService & Repository。所以LinkMenu需要發送Student ID到各自的Controller,所以它可以取&創建特定的Model特定的Student併發送到View

我想引導如何把那個Menu。雖然我把它寫在 &中,但每個View都包含在屬性集中。

問題是,當Controller名稱添加如下的Link不起作用:

@Html.ActionLink("Sports Properties", "EditSportsProps", "SportsProperties", new {ID = Model.ID}) 

但是,當下面沒有添加Controller名工作:

@Html.ActionLink("Sports Properties", "EditSportsProps", new {ID = Model.ID}) 

因此我收窄將所有功能放在同一個控制器中。

  • 我不能從Partial View鏈接到不同的Controller s嗎?
  • 請注意,Student ID是必需的,有沒有辦法從路由URL「ControllerName/ActionName/Id」在Controller?因爲ID在裏面。

回答

0

沒有過載ActionLink(HtmlHelper, String, String, String, Object)

您可以使用過載,LinkExtensions.ActionLink Method (HtmlHelper, String, String, String, Object, Object)

因此改變你的代碼,通過null爲HTML屬性

@Html.ActionLink("Sports Properties", 
    "EditSportsProps", 
    "SportsProperties", 
    new {ID = Model.ID}, null) 

欲瞭解更多信息請訪問LinkExtensions.ActionLink

注意:Wh你沒有把控制器名稱,那麼它的作品,因爲你使用ActionLink(HtmlHelper, String, String, Object)過載

相關問題