Asp.net mvc 4 如何在MVC中将未知数量的输入文本发送到create操作中?

Asp.net mvc 4 如何在MVC中将未知数量的输入文本发送到create操作中?,asp.net-mvc-4,query-string,Asp.net Mvc 4,Query String,在我的Create视图中,我有一个表单,由用户决定要向数据库添加多少对象。 假设DB是一个菜谱站点,那么在AddRecipe中,RecipeName将有一个文本框,但是成分的数量会从一个菜谱变为另一个菜谱,所以我允许用户使用Jquery添加文本框。 现在,在用户按下submit按钮后,我想手动获取Querystring并按inputbox名称对其排序 我的问题是如何在create操作中获取Querystring 我试图使用Request.QueryString[],但它返回null 提前感谢,,

在我的Create视图中,我有一个表单,由用户决定要向数据库添加多少对象。 假设DB是一个菜谱站点,那么在AddRecipe中,RecipeName将有一个文本框,但是成分的数量会从一个菜谱变为另一个菜谱,所以我允许用户使用Jquery添加文本框。 现在,在用户按下submit按钮后,我想手动获取Querystring并按inputbox名称对其排序

我的问题是如何在create操作中获取Querystring

我试图使用Request.QueryString[],但它返回null

提前感谢,, 尼米

  • 添加ViewModel类:

    公共类RecipeViewModel
    {

    公共字符串ReceipeName{get;set;}
    公共列表成分{get;set;}
    
    }

  • 将视图绑定到此ViewModel

  • 现在使用Jquery/Javascript为用户提供添加配料的便利


  • 我认为应该使用
    BeginCollectionItem

    它在NuGet中作为软件包提供:


    第2条-你是想做“@model-ViewModel”吗?现在,在@using(Html.BeginForm()){}中,我有两个文本框,createactionresult得到(ViewModel)。但一旦我运行了网站并填写了文本框,就不会向ActionResult传递任何内容。你知道为什么吗?是的,你需要用RecipeViewModel创建并绑定你的视图。你的创建操作结果(RecipeViewModel model)将得到添加@Html.TextBoxFor(model=>model.Components[0])非常好!!我想我会从这里开始。我在RecipeViewModel中创建了一些列表,这些列表可以获取所有配方属性,现在,一旦我将它们传递给控制器,我就可以“展开”这些列表并自己将它们绑定在一起。
      public string ReceipeName {get; set;}
    
      public List<string> ingredients {get; set;}