首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在ASP.NET Core3.1MVC中使用JavaScript和C#使用ViewModel动态添加列表

在ASP.NET Core 3.1 MVC中,可以使用JavaScript和C#的ViewModel来动态添加列表。下面是一个完善且全面的答案:

在ASP.NET Core 3.1 MVC中,可以通过以下步骤使用JavaScript和C#的ViewModel动态添加列表:

  1. 创建一个ViewModel类,用于存储列表数据。ViewModel是一个用于在视图和控制器之间传递数据的模型。例如,可以创建一个名为"ListViewModel"的类:
代码语言:txt
复制
public class ListViewModel
{
    public string ItemName { get; set; }
    public int Quantity { get; set; }
}
  1. 在控制器中创建一个动作方法,用于处理视图中的表单提交。在该方法中,可以接收ViewModel的列表数据,并将其存储在一个集合中。例如,可以创建一个名为"AddToList"的动作方法:
代码语言:txt
复制
[HttpPost]
public IActionResult AddToList(List<ListViewModel> items)
{
    // 在这里处理接收到的列表数据
    // 可以将数据存储在数据库中或执行其他操作

    return RedirectToAction("Index");
}
  1. 在视图中使用JavaScript和C#来动态添加列表项。可以使用JavaScript来监听用户的操作,并通过AJAX请求将数据发送到控制器中。在控制器中,可以将接收到的数据添加到ViewModel的列表中。以下是一个示例视图代码:
代码语言:txt
复制
@model List<ListViewModel>

<form id="addItemForm" method="post" action="/ControllerName/AddToList">
    <div id="itemContainer">
        @for (int i = 0; i < Model.Count; i++)
        {
            <div class="item">
                <input type="text" name="items[@i].ItemName" value="@Model[i].ItemName" />
                <input type="number" name="items[@i].Quantity" value="@Model[i].Quantity" />
                <button type="button" class="removeItem">Remove</button>
            </div>
        }
    </div>
    <button type="button" id="addItem">Add Item</button>
    <button type="submit">Submit</button>
</form>

<script>
    $(document).ready(function () {
        // 添加新的列表项
        $("#addItem").click(function () {
            var newItem = '<div class="item">' +
                '<input type="text" name="items[].ItemName" />' +
                '<input type="number" name="items[].Quantity" />' +
                '<button type="button" class="removeItem">Remove</button>' +
                '</div>';
            $("#itemContainer").append(newItem);
        });

        // 移除列表项
        $(document).on("click", ".removeItem", function () {
            $(this).closest(".item").remove();
        });
    });
</script>

在上述代码中,通过使用@for循环来遍历ViewModel的列表,并为每个列表项生成相应的HTML元素。当用户点击"Add Item"按钮时,JavaScript代码会动态添加一个新的列表项。当用户点击"Remove"按钮时,JavaScript代码会移除相应的列表项。

请注意,上述代码中使用了jQuery库来简化JavaScript操作。确保在视图中引入了jQuery库。

这是一个使用JavaScript和C#的ViewModel动态添加列表的示例。根据具体的需求,可以根据ViewModel的属性来自定义列表项的输入类型和样式。

相关搜索:使用输入javascript动态添加和删除列表组如何在c#中使用linq动态添加列表中的多个项如何在forloop(laravel)中使用javascript和ajax中的许多动态下拉列表?Asp.net MVC4.5使用EditorFor将对象添加到ViewModel中的列表,单击按钮如何使用javascript在购物车菜单列表中动态添加内容使用模型C#中定义的对象和列表将对象添加到列表如何在asp.net中使用C#将列表插入到组合框列表网格中如何在C#中使用循环将数据添加到列表中?如何在Angular中添加动画(如fadeIn和fadeOut) (使用ngx-owl-carousel-o)?如何在asp.net c#中使用javascript从ajax组合框中获取所选值如何在asp.net中使用javascript为下拉列表框设置可见的true和false如何使用2sxc和c#剃刀模板将CSS类的动态列表添加到div?如何在Python中使用for和if循环添加多个列表中的值?如何使用javascript在费用跟踪应用程序中动态添加和删除表格中的项目?如何使用asp.net和c#在mongodb中对同一id逐个动态更新列值如何使用Javascript将下拉列表添加到MVC中的动态行并将值绑定到模型如何在使用ActionListener按钮和图形用户界面时向数组列表中添加项目?如何在模型中显示使用fetch api和javascript获取的用户列表中的用户配置文件如何在剃刀页面发送的电子邮件中添加文件附件(使用ASP.NET核心和MailKit)如何在ASP.NET 3.5中使用C#动态设置“Schema.org /ld+json”应用程序元数据
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券