0

我是 asp.net MVC 的新开发人员。在弹出模型中单击编辑后,我在 gridview 上有一个编辑按钮,我可以看到每个数据。例如:

在我的数据库中有客户表 4 列:id(PK)、姓名、姓氏、联系人我看不到 id 文本框这是正常的!但是在单击编辑按钮更改名称后,SurName 发送 HttpPost 编辑控制器。有一个惊喜事件:ıd消失了!谷歌搜索后:


@using (Html.BeginCollectionItem("Kortingartikel")) { 

    @Html.HiddenFor(x => x.Artikelid)
    @Html.TextBoxFor(x => x.Artikelnaam)
    @Html.TextBoxFor(x => x.Prijs)

}

Hiddenfor 是一个解决方案。但解决方案不能满足我。为什么 id 消失以及如何在没有 hiddenfor 的情况下保持 id 值?

4

1 回答 1

1

这不是 asp.net 网络表单,它使用视图状态来存储信息。MVC 使用纯 html 而没有变通方法。因此,基本上,帖子中没有的内容根本不存在。

我能想到的一种不使用 HiddenFor 的方法可能是将您的 ID 放在 Url 中。Frmaework 应该足够聪明,可以将它绑定到这样的方法

 public ViewResult MyAction(int id, MyViewModel viewModel)
 {

 }
于 2012-04-10T08:47:30.497 回答