1

创建从一个控制器视图导航到另一个控制器视图的链接的语法是什么?以下是应该允许用户从视图导航到Index.cshtml视图的代码。我需要传递 的值,以便页面确切地知道要显示谁。FollowUpItemsDetails.cshtmlAgentitem.Key1Details.cshtml

我收到以下错误,但我不知道这意味着什么(我对任何缺乏信息表示歉意,我对 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>

这是我试图导航到的页面的 Index() 方法标题:

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

3 回答 3

5

试试这个重载

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

第三个参数是路由值,第四个参数是 html 属性。如果你希望你的链接有一些 html 属性,你可以像这样删除带有一些 html 属性的 null

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

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

于 2013-01-24T21:08:56.187 回答
1

只需删除 new{id=item.key1} 做一些类似的事情。

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

或者您可以通过将 key1 的类型更改为 int 来做到这一点?

于 2013-01-24T21:06:43.690 回答
0

我建议你使用T4MVC然后你可以使用这样的东西: @Url.Action(MVC.MyCOntroller.MyMethod()

希望这可以帮助。

于 2013-01-24T21:55:49.677 回答