我是Razor的初学者,有时我迷上了一些非常简单的东西。
我有这个foreach循环:
@foreach (dynamic item in ViewBag.EAList)
{
<li>
@using (@Html.BeginForm("Duplicate, "Daily"))
{
<p>@item.AuthorComment</p>
@Html.Hidden("EstadoDeAlmaID", @item.EAID)
@Html.Hidden("PosterID", Session["id"].ToString())
<input type="submit" value="Send" />
}
</li>
}
这行:
@Html.Hidden("EstadoDeAlmaID", @item.EAID)
不起作用,我也不知道如何使它起作用,我尝试了多种方法,没有@,带有(-),带有@(-)...
有人可以帮助我在隐藏字段中显示动态值吗?
另外,如果有人知道一个好的Razor示例网站,我将非常感谢。
最佳答案
为避免扩展方法无法动态调度异常,请使用模型而不是ViewBag
,这样就不会使用dynamic
对象(这将避免View中所有不必要的转换,并且更符合MVC样式):
在返回 View 时的操作:
return View("ViewName", db.EAList.ToList());
您认为第一行应为:
@model IEnumerable<EAListItem> //or whatever the type name is
然后做:
@foreach(var item in Model)
关于forms - MVC3和Razor-如何为隐藏字段放置动态值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8040480/