【发布时间】:2015-04-02 19:08:37
【问题描述】:
我需要你的帮助。
我尝试使用 ViewData.Model 将对象从视图传递给控制器
这是控制器中的索引方法
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
dynamic stronglytyped = new { Amount = 10, Size = 20 };
List<dynamic> ListOfAnynomous = new List<object> { new { amount = 10 } };
ViewData.Model = ListOfAnynomous[0];
return View();
}
这是视图部分
<div>
@Model.amount
</div>
这是错误的
'object' does not contain a definition for 'amount'
谁能帮帮我。
【问题讨论】:
-
不要使用
object和dynamic。创建视图模型并将视图模型传递给视图。 -
@StephenMuecke 谢谢,我得到了解决方案,但请你解释一下为什么编译器看不到动态对象定义。
-
@StephenMuecke 我希望将您的评论作为接受它的答案
-
因为你传递了一个匿名对象。匿名类型是内部的,因此它们的属性不能在其定义的程序集之外看到。 This article 给出了很好的解释。