1

我有一个包含很多产品的 WebGrid,我希望能够在相应的文本框上引发 textChanged 事件时编辑 Web 网格中每一行的数量并更新数据库中的 Cart 表。

但这甚至可以使用 WebGrid 吗?我还没有找到任何表明它可能的东西。我真的很感激任何帮助。

在此处输入图像描述

4

1 回答 1

1

可以将更改事件附加到文本框。

我将网格设置如下:

@grid.GetHtml(
   htmlAttributes: new { cellspacing = "2px", cellpadding = "2px" },
   columns: grid.Columns(
      grid.Column("Id"),
      grid.Column("Description"),
      grid.Column("PacketQuantity"),
      grid.Column("ThickCover", format: (item) => {
         var p = item.Value as MvcApplication1.Models.Product;
         return Html.TextBox("ThickCover", p.ThickCover, new { @class = "thickCoverInput", @data_value = p.Id });
          }),
      grid.Column("ThinCover", format: (item) => {
         var p = item.Value as MvcApplication1.Models.Product;
         return Html.TextBox("ThickCover", p.ThinCover);
      })
   )
)

然后我有以下脚本来连接更改:

<script src="~/Scripts/jquery-1.7.1.js"></script>
<script>
   $(document).ready(function () {
      $('.thickCoverInput').change(function(event) {
         alert(event.currentTarget.attributes["data-value"].value);
         alert(event.currentTarget.value);
         // Here you can post data to an action to update your table
      });
   });
</script>

当我更改文本框中的值时,我能够得到两个警报。一个是产品的 ID,另一个是新值。

希望这就是你要找的。

于 2013-01-15T19:04:12.557 回答