Jquery @Html.Raw控件的解决方案

Jquery @Html.Raw控件的解决方案,jquery,asp.net-mvc,Jquery,Asp.net Mvc,在我的MVC应用程序中,视图需要根据数据库中可用的数据呈现控件 例如,假设ID=1,我从数据库中获取FNAME,LNAME。 对于ID=2,我只得到FNAME 在这个场景中,我需要为ID=1显示两个文本框,为ID=2只显示一个文本框 为了实现这一点,我使用@Html.Raw并将Html标记作为字符串传递 当我有一个提交按钮时,问题就出现了。现在,在提交时,无论用户输入了什么,我如何将数据获取到控制器,因为这些控件没有与其关联的模型 PS-我们不知道数据库将返回多少字段。它可以是1、2或50。我已

在我的MVC应用程序中,视图需要根据数据库中可用的数据呈现控件

例如,假设ID=1,我从数据库中获取FNAME,LNAME。 对于ID=2,我只得到FNAME

在这个场景中,我需要为ID=1显示两个文本框,为ID=2只显示一个文本框

为了实现这一点,我使用@Html.Raw并将Html标记作为字符串传递

当我有一个提交按钮时,问题就出现了。现在,在提交时,无论用户输入了什么,我如何将数据获取到控制器,因为这些控件没有与其关联的模型

PS-我们不知道数据库将返回多少字段。它可以是1、2或50。我已经为控制器中的每个循环编写了一个for循环,以在字符串中创建这些控件,然后将其传递给视图

遵循以下步骤

在创建文本框时,对其使用name属性。 将这些文本框或输入标记放入表单中,该表单应 将动作属性作为控制器/动作名称。 在控制器内创建操作并保持参数名称不变 作为您提供给文本框的名称。 HTML标记

 <form action="Account/Login" method="post">
      <input  name="userName"  type="text" />
      <input  name="password"  type="text" />
      <input type="submit" />
    </form>

真的重新考虑你的设计,玩弄原始标签很快就会变成一种维护工具。为什么不为所有记录建立一个模型,只隐藏那些没有数据的数据呢?在提交时,隐藏控件可以发布一些默认的空数据,但需要的是,如果将来添加了新字段,则它们不需要更改应用程序代码模型。只有将字段添加到数据库中才能完成此工作。是。谢谢你的回答。在某种程度上,这将部分解决问题。但是,对于参数数量未知的场景,还有其他解决方法吗?这取决于您的编码方式…但我刚刚向您展示了这是可以做到的。。。如果我的回答对您有帮助,那么您能接受吗?对于参数的动态编号,您可以使用FormCollection作为action方法中的参数。从这里了解FormCollection
 <form action="Account/Login" method="post">
      <input  name="userName"  type="text" />
      <input  name="password"  type="text" />
      <input type="submit" />
    </form>