Asp.Net Core - 在文本区域中显示字符串列表值?
Posted
技术标签:
【中文标题】Asp.Net Core - 在文本区域中显示字符串列表值?【英文标题】:Asp.Net Core - Display string list values in textarea? 【发布时间】:2022-01-11 09:38:05 【问题描述】:我有一个列表,其值取自数据库,我希望这些值中的每一个在textarea中显示在一行中...
控制器:
public async Task<IActionResult> AddOrEditPoll(Guid Id)
var polloptionList = await _admin.GetQuestionsListByPollId(Id);
PollViewModel model = new PollViewModel();
model.AnswerList = new List<string>();
foreach (var item in polloptionList)
model.AnswerList.Add(item.Answer);
;
return View(model);
查看:
<div class="form-group">
<label class="control-label">Answer</label>
<textarea asp-for="AnswerList" class="form-control"></textarea>
</div>
ّ我希望它显示如下:
如果你有好的解决方案,可以指导我吗?
【问题讨论】:
您确定要使用 textarea 而不是单选按钮或复选框或下拉选择吗?如果是,你想如何显示它们?单个文本框中的所有值组合在一起?还是每个都在单独的文本框中? @SyedMohammadFahimAbrar 我只是希望它显示在 textarea 中,因为我想编辑它们 您希望它们都在同一个文本区域中吗?还是每个项目的文本区域? @SyedMohammadFahimAbrar 适合所有人的文本区域 您可以先将所有答案映射到一个字符串中,然后将该字符串绑定到剃刀中的文本区域。但是您必须自己从模型字符串中提取字符串列表。我认为每个答案的 textarea 应该在 codesmel 的情况下更好地工作。 【参考方案1】:您可以尝试将asp-for
替换为id
,name
,asp-for
将textarea的值设置为AnswerList
,然后将AnswerList
转换为string
。这是一个演示:
行动:
public IActionResult AddOrEditPoll()
PollViewModel model = new PollViewModel();
model.AnswerList = new List<string> "answer1", "answer2" , "answer3" ;
return View(model);
查看:
<div class="form-group">
<label class="control-label">Answer</label>
<textarea name="AnswerList" class="form-control" style="text-align:right">@string.Join("\n ", Model.AnswerList)</textarea>
</div>
结果:
【讨论】:
它没有显示任何内容,我希望任何值都在一行中 你的 polloptionList 有值吗? 已显示,但我希望一行中的任何值都可以?any value in a line
是什么意思?不是每个项目?
那么你想用空空间分割答案吗?如果是这样,我已将答案更改为用“ ”分割答案。以上是关于Asp.Net Core - 在文本区域中显示字符串列表值?的主要内容,如果未能解决你的问题,请参考以下文章