使用jquery在表中添加与MVC中的模型相关的行

用户名

我有此表并显示服务器中的值。如果我想将值从表发送到服务器,如何使用jQuery在此表中添加新行

<table id="Products" class="Products">
    <tr>
        <th>ProductId</th>
        <th>Productname</th>
        <th>Quantity</th>
        <th>UnitPrice</th>
    </tr>

    @for (int i = 0; i < Model.NorthOrderDetails.Count; i++)
    {
        <tr>
            @Html.HiddenFor(m => m.NorthOrderDetails[i].ProductID)
            @Html.HiddenFor(m => m.NorthOrderDetails[i].ProductName)
            <td>@Html.DisplayFor(m => m.NorthOrderDetails[i].ProductID)</td>

            <td>@Html.DisplayFor(m => m.NorthOrderDetails[i].ProductName)</td>

            <td><input type="hidden" name="NorthOrderDetails.Index" value="@i" /> </td>

            <td> @Html.TextBoxFor(m => m.NorthOrderDetails[i].Quantity) </td>

            <td> @Html.TextBoxFor(m => m.NorthOrderDetails[i].UnitPrice, String.Format("{0}", Model.NorthOrderDetails[i].UnitPrice))</td>
            <td>
                <button type="button" class="delete" data-id="@Model.NorthOrderDetails[i].ProductID">Delete</button></td>
        </tr>
    }
</table>    
用户名

您可以使用BeginCollectionItem html帮助器为模型提供局部视图,以生成具有唯一索引器的集合项,并允许在回发时绑定到集合。请注意,您没有指明属性的类型NorthOrderDetails,但是在您之前的问题中,我假设它是NorthOrderDetails.cs

为创建一个局部 NorthOrderDetails.cs

Views/YourController/_NorthOrderDetails.cshtml

@model NorthOrderDetailscs
@using(Html.BeginCollectionItem()) 
{
  <tr>
    @Html.HiddenFor(m => m.ProductName)
    <td>@Html.DisplayFor(m => m.ProductID)</td>
    <td>@Html.DisplayFor(m => m.ProductName)</td>
    <td>@Html.TextBoxFor(m => m.Quantity)</td>
    <td>@Html.TextBoxFor(m => m.UnitPrice)</td>
    <td>
      <button type="button" class="delete" data-id="@Model.ProductID">Delete</button>
      @Html.HiddenFor(m => m.ProductID)
      @Html.HiddenFor(m => m.ProductName)
    </td>
  </tr>
}

旁注:

  1. 不包括 Index
  2. An<input>不是<tr>元素的有效子元素(将隐藏的输入放置在<td>元素内
  3. String.Format("{0}", Model.NorthOrderDetails[i].UnitPrice绝对不执行任何操作(如果您想将其格式设置为(例如)货币,则为@Html.TextBoxFor(m => m.UnitPrice. "{0:C}")

现在,您可以for在主视图中删除循环并替换为

<table id="Products" class="Products">
  <thead>
    <tr>
      <th>ProductId</th>
      <th>Productname</th>
      <th>Quantity</th>
      <th>UnitPrice</th>
    </tr>
  </thead>
  <tbody>
    @foreach(var item in Model.NorthOrderDetails)
    {
      @Html.Partial("_NorthOrderDetails", item)
    }
  </tbody>
</table>

这将产生一些额外的html(现有项的索引器是aGuid而不是a int),但这意味着您只有一个位置来维护代码。

然后在主视图中,为“添加”按钮添加以下脚本

<button type="button" id="add">Add</button>
<script>
  var tableBody = $('#Products tbody');
  var url = '@Url.Action("Add", "YourControllerName")'; // adjust to suit
  $('#add').click(function() {
    $.get('url, function(response) {
      tableBody.append(response);
    });
  });
</script>

和控制器的方法

public PartialViewResult Add()
{
  var model = new NorthOrderDetailscs();
  return PartialView("_NorthOrderDetails");
}

最后,如果您正在使用客户端验证(jquery-validate-unobtrusive.js)并@Html.ValidationMessageFor()具有您的属性,则每次将新元素添加到DOM时都需要重新解析验证器,如本答案所述

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MVC项目中使用Jquery删除表中的行

来自分类Dev

在MVC项目中使用Jquery删除表中的行

来自分类Dev

使用jQuery将图像附加到MVC中的表行

来自分类Dev

使用jQuery向表中添加新行

来自分类Dev

使用javascript / jquery向表中添加新行

来自分类Dev

使用tablesorter jquery在表中添加一行

来自分类Dev

使用jQuery在表行中添加数字

来自分类Dev

使用jQuery在表行中添加数字

来自分类Dev

计算相关表中的行

来自分类Dev

在laravel中更新表及其相关模型?

来自分类Dev

从相关表(模型)中获取数据

来自分类Dev

jQuery在表行中添加按钮

来自分类Dev

使用jquery每种方法并从表MVC模型中获取数据

来自分类Dev

使用jquery将<tr>添加到表中+在添加的行上保留jquery函数

来自分类Dev

使用angularjs无法正常向jQuery表中动态添加行/从jQuery表删除行

来自分类Dev

使用sqlalchemy从相关表中仅选择一行

来自分类Dev

SQL,如何使用查询从相关表中删除行?

来自分类Dev

如何使用jQuery在表中添加列?

来自分类Dev

jquery 使用 .after() 在表中添加行

来自分类Dev

在 Django Admin 中的 User 模型中添加 User 相关对象

来自分类Dev

使用ManyToManyField在相关模型中设置值

来自分类Dev

使用ajax和jquery在codeigniter中获取相关的行值

来自分类Dev

找不到方法:使用MVC httppost将行添加到Azure表存储中

来自分类Dev

使用相关表中的值更新表

来自分类Dev

我可以使用什么技术来获取与MVC中渲染的局部视图相关的模型?

来自分类Dev

在相关表中查找日期最近的行

来自分类Dev

Pyqt4 模型视图 - 在表模型中添加滑块、复选框行编辑

来自分类Dev

如何在相关表中添加子行?(Sequelzie N:M关系)

来自分类Dev

我如何处理相关模型在cakephp中添加操作?

Related 相关文章

  1. 1

    在MVC项目中使用Jquery删除表中的行

  2. 2

    在MVC项目中使用Jquery删除表中的行

  3. 3

    使用jQuery将图像附加到MVC中的表行

  4. 4

    使用jQuery向表中添加新行

  5. 5

    使用javascript / jquery向表中添加新行

  6. 6

    使用tablesorter jquery在表中添加一行

  7. 7

    使用jQuery在表行中添加数字

  8. 8

    使用jQuery在表行中添加数字

  9. 9

    计算相关表中的行

  10. 10

    在laravel中更新表及其相关模型?

  11. 11

    从相关表(模型)中获取数据

  12. 12

    jQuery在表行中添加按钮

  13. 13

    使用jquery每种方法并从表MVC模型中获取数据

  14. 14

    使用jquery将<tr>添加到表中+在添加的行上保留jquery函数

  15. 15

    使用angularjs无法正常向jQuery表中动态添加行/从jQuery表删除行

  16. 16

    使用sqlalchemy从相关表中仅选择一行

  17. 17

    SQL,如何使用查询从相关表中删除行?

  18. 18

    如何使用jQuery在表中添加列?

  19. 19

    jquery 使用 .after() 在表中添加行

  20. 20

    在 Django Admin 中的 User 模型中添加 User 相关对象

  21. 21

    使用ManyToManyField在相关模型中设置值

  22. 22

    使用ajax和jquery在codeigniter中获取相关的行值

  23. 23

    找不到方法:使用MVC httppost将行添加到Azure表存储中

  24. 24

    使用相关表中的值更新表

  25. 25

    我可以使用什么技术来获取与MVC中渲染的局部视图相关的模型?

  26. 26

    在相关表中查找日期最近的行

  27. 27

    Pyqt4 模型视图 - 在表模型中添加滑块、复选框行编辑

  28. 28

    如何在相关表中添加子行?(Sequelzie N:M关系)

  29. 29

    我如何处理相关模型在cakephp中添加操作?

热门标签

归档