C# 试图创建一个足够动态的模型来处理动态问题

C# 试图创建一个足够动态的模型来处理动态问题,c#,asp.net-mvc,razor,dynamic,C#,Asp.net Mvc,Razor,Dynamic,我正在尝试为一组问题创建一个动态模型,这些问题被动态地拉入我的应用程序中 我想将输入类型设置为问题id(唯一)。然后,我想将这些答案与模型中的值字段相关联 我有这个模型: public class QuestionViewModel { public int? Id { get; set; } public string QuestionType { get; set; } public string Text { get; set;

我正在尝试为一组问题创建一个动态模型,这些问题被动态地拉入我的应用程序中

我想将输入类型设置为问题id(唯一)。然后,我想将这些答案与模型中的值字段相关联

我有这个模型:

public class QuestionViewModel
    {
        public int? Id { get; set; }

        public string QuestionType { get; set; }

        public string Text { get; set; }

        public List<QuestionOptionViewModel> Options { get; set; }
    }
    public class QuestionOptionViewModel
        {
            public int? Id { get; set; }

            public string Text { get; set; }

            public string StringValue { get; set; }
            public bool OptionValue {get; set;}

        }
因此,我在模型中添加了StringValue部分。我想捕捉那里的响应,这样我就可以动态地跟踪这个问题输入框的名称为QuestionOption int.,并将该值存储在StringValue中(因为本例中的文本)

我不知道在C#MVC中如何做才合适?如何正确处理拉入网页的动态创建的问题。我可以用我的模型轻松地把它们拉出来。但我不确定将它们存储回模型中的正确方法


根据要求,这里是一个单一问题的屏幕抓取

你的问题是什么?你能展示一个问题的屏幕抓图吗?你能看到一个问题的屏幕抓图吗?你可以看到这个问题的屏幕抓图有两个问题选项(名字和姓氏)。文本框字段是完全动态的,这就是为什么我想使用ID作为输入名称。您的问题可能会被关闭,因为不清楚您的问题是什么。据我所知,你只是想知道如何保存对问题的回答?如果是这样的话,您将需要一个新的实体,比如
QuestionOptionResponse
,带有
QuestionOption
的外键,基本上就是发布的值。不要将外键存储到实际的
问题
,因为您可以从
问题选项
关系中获得该外键。
@for (int i = 0; i < @Model.Options.Count; i++)
{
    <div class="col-lg-4">
        <label for="@Model.Options[i].Text">@Model.Options[i].Text</label>
        @Html.TextBoxFor(o => Model.Options[i].StringValue, new { name = Model.Options[i].Id, @class = "form-control", placeholder = "" })
    </div>
}
QuestionViewModel
   int = 1
   questionType = Text
   Text = What is your name?
QuestionOptionViewModel
   int = 1
   Text = FirstName
   StringValue = *I want to set the response here*
   OptionValue = *If it was a radio I want to store bool here*

   int = 2
   Text = LastName
   StringValue = *I want to set the response here*
   OptionValue = *If it was a radio I want to store bool here*