2013-07-23 46 views
0

因此,我使用Database First和Entity Framework方法創建了MVC 4應用程序。我創建了各自的模型,控制器和視圖(通過使用實體框架添加具有讀/寫操作和視圖的MVC控制器模板)。所以它帶有創建,刪除,編輯,索引和詳細視圖以及相應的操作方法。 enter image description here我們是否可以隱式傳遞HttpGet查詢字符串

當我點擊詳細信息,編輯或刪除時,我看到作爲操作方法中的參數的位置ID不傳遞給值,因此只使用默認值0。並且我知道使用HttpGet我們需要將它作爲URL中的查詢字符串傳遞,但在我的情況下,如何隱式傳遞編輯/詳細信息或刪除的位置ID。

回答

2

你不喜歡這樣:

VIEW:

foreach (var item in Model) 
{ 
    <tr> 
     <td> 
      @Html.ActionLink("Edit", "EditAction", new {id = item._account}) 
     </td> 
     <td> 
      @Html.ActionLink("Details", "DetailsAction", new {id = item._account}) 
     </td> 
     <td> 
      @Html.ActionLink("Delete", "DeleteAction", new {id = item._account}) 
     </td> 
    </tr> 

} 

控制器:

// 
    // GET: /Controller/EditAction/id 
    public ActionResult EditAction(int id) 
    { 
     //Do Something 
    } 

    // 
    // GET: /Controller/DetailsAction/id 
    public ActionResult DetailsAction(int id) 
    { 
     //Do Something 
    } 

    // 
    // GET: /Controller/DeleteAction/id 
    public ActionResult DeleteAction(int id) 
    { 
      //Do Something 
    } 
+0

它的工作原理,謝謝! – ZoomIn

0

列表視圖模板的鏈接使用@ Html.ActionLink權產生的?如果是這樣,他們必須分別包含他們打算明確指出的項目Id,所以它們應該是類似於 @ Html.ActionLink(「Edit」,new {id = item.Id})) 如果您使用默認路由。

順便說一句,我很驚訝這些鏈接在列表模板中默認不包含正確的Id設置。

+0

默認情況下,它們不包含它,現在我通過了新的{id = item.LocationId},它的工作原理 – ZoomIn

相關問題