【发布时间】:2013-04-30 12:48:53
【问题描述】:
我无法理解为什么在发布表单时我的模型没有连同它的值一起传递给我的控制器。
我有一个从 Web 服务获取的强类型模型 (UnitContract) 的视图,该模型包含一组值。在我的操作中,我试图获取模型中存在的 int ID 和 bool Disabled 字段。调试时,我看到从表单传递的模型根本不包含任何值。我错过了什么?
我的观点(UnitContract 作为强类型模型):
...
<form class="pull-right" action="~/UnitDetails/EnableDisableUnit" method="POST">
<input type="submit" class="k-button" value="Enable Unit"/>
</form>
我的控制器操作:
[HttpPost]
public ActionResult EnableDisableUnit(UnitContract model)
{
var client = new UnitServiceClient();
if (model.Disabled)
{
client.EnableUnit(model.Id);
}
else
{
client.DisableUnit(model.Id);
}
return RedirectToAction("Index", model.Id);
}
【问题讨论】:
-
您的表单看起来很空...
-
修改您的问题以包括您视图中(应该)映射到
UnitContract的字段。 -
这就是您表单中的所有代码吗?似乎应该有更多......
-
您的表单是否绑定到 UnitContract 模型?如果是这样,你是如何通过它的?您是否使用您正在寻找的值填充模型 (
model.Id) ?更多细节... -
您必须在表单中呈现输入,这些输入将绑定到模型类的属性。
标签: c# asp.net-mvc asp.net-mvc-4