ASP MVC3 アクション リンクを使用して、別のビュー (同じコントローラー) に移動しようとしています。ビューは、主キーに複合キーを使用するモデルに関連付けられています。以下は、ビューに書かれているアクションリンクです
@Html.ActionLink("Edit Agent", "AgentEdit", "BankListMasterController",
new { @agentId = int.Parse(item.AgentId), @id = item.ID})
ただし、これをレンダリングすると、次のようにレンダリングされます
http://localhost:2574/BankListMaster/AgentEdit?Length=24
明らかにエラーをスローします:
The parameters dictionary contains a null entry for parameter 'agentId' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ViewResult AgentEdit(Int32, Int32)' in 'Monet.Controllers.BankListMasterController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
適切な測定のためのコントローラーメソッドは次のとおりです。
public ViewResult AgentEdit(int agentId, int id)
{
string compare = agentId.ToString();
BankListAgentId agent = (from c in db.BankListAgentId
where c.ID == id &&
c.AgentId.Equals(compare)
select c).Single();
return View("AgentEdit", agent);
}