我这样夸大我观点
public ActionResult Tagging(int id, ItemType itemType, bool autoCloseWindow = false, bool refreshOpener = false)
{
var model = new TaggingViewModel(id, itemType);
return View("Tagging", model);
}
我给予了参数id和itemtype来检索正确的数据。
我这样显示数据(正确):
<td>
@Html.CheckBoxFor(m => m.MainNodes[i].children[y].IsChecked, new { @class = "langCheck" })
@Html.HiddenFor(m => m.MainNodes[i].children[y].ItemId)
@Html.HiddenFor(m => m.MainNodes[i].children[y].GlobalTaggingId)
@Html.HiddenFor(m => m.MainNodes[i].children[y].ItemType)
</td>
但如果我在表单字段中按下保存,则模型返回为空:
我发现原因是在saveTagging方法的参数中我重新启动了模型,但是没有参数(因为你不能在这里传递它们),因此返回了一个空模型。
但是:
1.)我如何给予它参数?
2.)即使我给予参数说静态,我不希望旧模型返回,我希望从前端更改模型返回。
1条答案
按热度按时间nhaq1z211#
事实证明,我做的几乎每件事都是对的。
您不能简单地返回带有ID的整个模型,但您可以简单地返回所需模型的属性。这意味着我将Action Result中的参数从:
至:
与
是返回空值的列表,这个c的列表是我的模型
taggedModel
的一部分,这样,它就不会被重新示例化,所有的值都被传递到这个对象中。