2015-02-24 71 views
0

我想添加一个新的MVC的ActionLink按下时去一个动作,被绑定到输入参数,但它似乎并不奏效MVC模型绑定问题总是空

我有这样的:

@Html.ActionLink("OPTIN","Optin", "Admin", new {id = Model.Publications[i].ID}) 

然后管理控制器上的选择启用方法:

public ActionResult OptIn(int? id) 
     { 
      if (id.HasValue) 
      { 
       var temp = id.Value; 
      } 

我想要的ID来获得映射到输入参数,但它始终是NULL和Model.Publications [I] .ID总是五。 我究竟做错了什么?我是否必须将ID作为模型的一部分?

+0

出版物对象上的ID是INT,是否正确?它没有被设置为不能转换为int的东西? – krillgar 2015-02-24 17:28:35

+0

是的,这是一个int – user2471435 2015-02-24 17:29:13

+0

启动您的HTML页面,并给我们一个从您的ActionLink生成的示例URL。 – krillgar 2015-02-24 17:30:15

回答

1

您设置ActionLink方法的方式是错误的。我正在猜测你使用的覆盖是this one。但是,您想要使用的是string, string, string, object, object

通过问题评论中的URL,您设置的ID是HTML属性,而不是URL的一部分。

如果您更改呼叫以下内容,它应该给你你需要什么:

@Html.ActionLink("OPTIN","Optin", "Admin", new {id = Model.Publications[i].ID}, new { })