Web API 参数将动态构建的 table 值绑定到模型?
Web API parameter bind dynamically built table values to model?
假设您正在创建一个在线测试应用程序。它可以让您添加多项选择题。因此用户单击 "Add new test question" 并出现一个对话框。该对话框要求输入问题文本、可能答案列表和正确答案。结果是这样的:
Which color has the letter "G" in it?
A. Blue
B. Red
----> C. Green
D. Yellow
E. Purple
每个新问题可能会有不同数量的选项。所以下一个问题可能是:
Does NYC have 5 boroughs?
---> A. Yes
B. No
我创建了一个对话框,允许用户在表单中动态构建这些问题(添加答案、指定正确的问题等)。无论如何创建一个模型和一个 Web API 可以在表单提交时无缝地参数绑定该结构?我在想一些疯狂的事情,比如如果我的表单中有一个 table 我可以以某种方式将它绑定到我的模型中的数组?可能不会那样工作,但正在寻找创意。
模型可能看起来像这样
public class Question {
public string Text { get; set;}
public IList<Answer> Answers { get; set;}
}
public class Answer {
public string Label { get; set;}
public string Text { get; set;}
public bool IsCorrect { get; set;}
}
api 端点将收集这些以形成测试。
public class Test {
public IList<Question> Questions { get; set; }
}
public class TestController : ApiController {
[HttpPost]
public IHttpActionResult Create(Test test) { ... }
}
假设您正在创建一个在线测试应用程序。它可以让您添加多项选择题。因此用户单击 "Add new test question" 并出现一个对话框。该对话框要求输入问题文本、可能答案列表和正确答案。结果是这样的:
Which color has the letter "G" in it?
A. Blue
B. Red
----> C. Green
D. Yellow
E. Purple
每个新问题可能会有不同数量的选项。所以下一个问题可能是:
Does NYC have 5 boroughs?
---> A. Yes
B. No
我创建了一个对话框,允许用户在表单中动态构建这些问题(添加答案、指定正确的问题等)。无论如何创建一个模型和一个 Web API 可以在表单提交时无缝地参数绑定该结构?我在想一些疯狂的事情,比如如果我的表单中有一个 table 我可以以某种方式将它绑定到我的模型中的数组?可能不会那样工作,但正在寻找创意。
模型可能看起来像这样
public class Question {
public string Text { get; set;}
public IList<Answer> Answers { get; set;}
}
public class Answer {
public string Label { get; set;}
public string Text { get; set;}
public bool IsCorrect { get; set;}
}
api 端点将收集这些以形成测试。
public class Test {
public IList<Question> Questions { get; set; }
}
public class TestController : ApiController {
[HttpPost]
public IHttpActionResult Create(Test test) { ... }
}