2015-02-24 66 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 { })