私のビューには次のような隠しフィールドがあります。
using (Html.BeginForm("Action", "Schedule"))
{
@Html.Hidden("Id", Model.Schedule.Id)
...
}
そして、次のような情報を取り込むアクションメソッド:
public ActionResult AddEventToSchedule(Event NewEvent, Guid Id)
{
// Do something
}
Model.Schedule.Idが空でない場合でも、空のGuidが渡され続けます。HTMLソースを確認しましたが、非表示フィールドも空のGUIDです(ブレークポイントを使用してModel.Schedule.Idが空でないことを確認しました)。
奇妙なことに、以下のようにモデルを介してId値にアクセスしようとすると、htmlの非表示フィールドにGUIDが正しく入力されましたが、actionメソッドに渡されたモデルは空でした。
public ActionResult AddEventToSchedule(Event NewEvent, ScheduleModel model)
{
// model.Schedule is null!
}