【发布时间】:2014-08-04 21:24:11
【问题描述】:
我目前正在制作一种植物维基。我们开始做的第一件事是管理站点中的用户。为此,我们制作了这个视图,显示了从数据库中搜索的结果。搜索工作正常,并且 ViewData["datos"] 返回了它应该返回的内容,并且在此表中我们显示了用户(来自 Model Usuario)。最后,对于每个用户,它应该显示一个按钮,该按钮将该用户的模型发送到另一个控制器。问题是控制器接收到一个空模型。 这是视图的代码。值为 Editar 的输入是应该发送模型的输入。
@model AtlasPlantasMedicinales.Models.Usuario
@{
ViewBag.Title = "Tabla";
}
@if (ViewData["datos"]!=null){
<table>
@foreach (var elemento in (List<AtlasPlantasMedicinales.Models.Usuario>)(ViewData["datos"]))
{
<tr>
<td>
@elemento.Nombre
</td>
<td>
@elemento.Carrera
</td>
<td>
@elemento.Institucion
</td>
<td>
@elemento.usuario
</td>
<td>
@elemento.correo
</td>
@using (Html.BeginForm("FormularioEditar", "Usuario", FormMethod.Post))
{
<td>@Html.HiddenFor(m => elemento) <input type="submit" value="Editar"></td>
}
</tr>
}
</table>
}
我们如何将 elemento 中的模型发送到控制器?
我们也尝试过为模型中的每个属性创建一个 Html.HiddenFor,但它仍然不起作用。 请记住,我(和我的队友)是 ASP.NET MVC 4 的新手
【问题讨论】:
-
您需要为每个模型的属性添加一个隐藏字段 - 而不是整个模型。 MVC 无法将整个模型序列化为单个表单字段值。
-
您需要表格来附上您的所有财产。您可能应该使用@Html.DisplayEditorFor()。
-
我们已经尝试过了。我们为每个属性写了@Html.HiddenFor(m => elemento.propriety),但它仍然发送一个空模型。 @蚂蚁P
-
包括你的控制器后操作方法
标签: asp.net asp.net-mvc asp.net-mvc-4 razor