これが私のインデックスビュー(Index.cshtml)の関連部分です:
@foreach (var item in Model) {
<li>
@Html.ActionLink(item.name, "Index", "Filler", new { cap = item }, null)
</li>
}
ご覧のとおり、ActionLinkはフィラーコントローラーのインデックスアクションに関連付けられており、アイテム全体(モデル)を渡します。「アイテム」のタイプは「カプセル」です。
さて、私のフィラーコントローラーで、インデックスアクションで:
public ActionResult Index(capsule cap)
{
var fillers = db.fillers.ToList();
return View(fillers);
}
EntityFrameworkによって自動的に生成されたカプセルクラスは次のとおりです。
namespace CapWorx.Models
{
using System;
using System.Collections.Generic;
public partial class capsule
{
public capsule()
{
this.fillers = new HashSet<filler>();
}
public int pk { get; set; }
public string name { get; set; }
public virtual ICollection<filler> fillers { get; set; }
}
}
問題は、上記のインデックスアクションで「cap」がNULLであるということです。ただし、タイプを「capsule」ではなく「object」に変更すると、null以外の奇妙なデータが取得されますが、オブジェクトを「capsule」にキャストできません。これがNULLである理由を誰かが知っていますか?
ありがとう、
マイク