HomeController
次のアクションメソッドを持つコントローラーがあります。
public ActionResult DisplayData(MyViewModel myViewModel)
{
// Do something with myViewModel
}
ViewModel
:_
public class MyViewModel
{
public List<string> Names { get; set; }
public List<CustomViewModel> CustomVM { get; set; }
public bool IsSpecial { get; set; }
}
そして、次のView
@model AppName.ViewModels.MyViewModel
@{ Html.RenderPartial("MyPartialView", Model); }
<img src="@Url.Action("DisplayData", "Home", new RouteValueDictionary(Model))" alt="Image" />
Url.Action
ここで説明されている方法を使用しますが、DisplayData
アクション メソッドで得られるものは null です。私が得たソースコードでは:
<img src="/Home/DisplayData?IsSpecial=true&Name=System.Collections.Generic.List%601%5BSystem.String%5D&CustomVM=System.Collections.Generic.List%601%5BVestibule.AppName.ViewModels.CustomViewModel%5D"" alt="Image" />
そのため、実際には値ではなく型を渡しています。正しく渡される唯一の変数値は bool ですIsSpecial
代わりに ViewModel が正しく部分ビューに渡されます。私は何を間違っていますか?