asp.net-mvc - 如何在循环中设置 asp-items 和 asp-for
问题描述
任何人都可以帮助我使用语法(如果这是可行的)在循环中动态设置 asp-items 参数吗?基本上,我的 ViewBag 有 Q1、Q2、Q3 项目。其中每一个都有一个用于下拉列表的 selectList。我正在遍历 Model.Questions 中的所有问题,并且对于这些问题中的每一个问题,我都需要获取存储在 ViewBag 中的选择下拉列表。所以它将是 ViewBag.Q1,然后是 ViewBag.Q2 等。我尝试构造一个字符串“ViewBag.@questionId”,但我收到一个关于类型的错误(当它需要一个列表时是字符串)。
我希望你能帮忙!
@foreach (var question in Model.Questions) //For every question, generate question, and generate responses
{
<div class="form-row">
<label class="control-label col-md-4">@question.QuestionText</label>
@if (question.QuestionResponse.Count() != 0) //If count ViewData[QID] != 0, generate select dropdown, otherwise, input.
{
var questionId = "Q"+question.QuestionId.ToString();
<select class="form-control col-md-4" asp-items="ViewBag.???"><option></option></select>
}
else
{
<input class="form-control col-md-4" />
}
</div>
}
解决方案
您可以尝试更改您的代码,如下所示。
var questionId = "Q" + question.QuestionId.ToString();
<select class="form-control col-md-4" asp-items="(SelectList)ViewData[questionId]"><option></option></select>
推荐阅读
- python - 相同图像的两个副本上的图像减法不给出零矩阵?
- java - 为什么Java中的这段代码会进入无限循环?
- c++ - 在 If 条件下使用 Bool 向量二维数组
- kotlin - 按下按钮播放不同的 Youtube 视频 (Android)
- machine-learning - 在 CatBoost 中测量 AUPRC
- ruby-on-rails - 是否可以存根 ActiveRecord 的保存方法
- python - 使用 sys.stdin 读取文本文件
- listview - Flutter:在 http.get 请求之后构建 ListView
- java - JAVA:为什么我不能在同一垂直位置(不同的水平位置)有两个以上的 JLabel?
- regex - 如何使用正则表达式将“--------ab-c”之类的字符串修复为“ab-c”?