2013-01-24 93 views
1

創建從一個Controllers視圖導航到另一個的鏈接的語法是什麼?以下代碼旨在允許用戶從FollowUpItems視圖的Index.cshtml導航到Agent視圖的Details.cshtml導航。我需要傳遞item.Key1的值以便Details.cshtml頁面準確知道要顯示的內容。ASP MVC3鏈接到另一個視圖/控制器?

我收到以下錯誤,我不知道這意味着什麼(我對任何缺乏信息道歉,我仍然很新的ASP MVC):

「的參數字典包含空條目對於'Monet.Controllers.FollowUpController'中方法'System.Web.Mvc.ViewResult Details(Int32)'的非空類型'System.Int32'的參數'id'。可選參數必須是引用類型,可爲空類型,或者聲明爲可選參數。 參數名:參數'

<td> 
     @Html.ActionLink(item.Key1, "Details", "Agent", new { id = item.Key1 }) 
    </td> 

這裏是我想瀏覽網頁的索引()方法的標題:

public ActionResult Index(string searchString, string sortOrder, string currentFilter, int? page) 
    { 

回答

5

試試這個overload

@Html.ActionLink(item.Key1, "Details", "Agent", new { id = item.Key1 },null) 

第三個參數是routevalues和第四個參數是HTML attrubutes。如果你希望你的鏈接有一些HTML屬性,你可以用一些HTML attrubtes取出空存在這樣

@Html.ActionLink(item.Key1, "Details", "Agent", 
          new { id = item.Key1 }, new { class="myCssClass}) 

Here是所有可用重載的完整列表。

+1

完美,謝謝! – NealR

+0

@NealR:不客氣!很高興我能幫上忙 :) – Shyju

1

只是刪除新{ID = item.key1} 做一些這樣的事情。

@Html.ActionLink(item.Key1, "Details", "Agent"); 

或者您可以通過將key1的類型更改爲int來實現這一點?

0

我建議你使用T4MVC那麼你可以使用這樣的事情: @Url.Action(MVC.MyCOntroller.MyMethod()

希望這有助於。

相關問題