我有一个尚未填充的文本区域。 viewbag 不为空,因为如果我填充文本框,则会显示 @ViewBag.JobsDetails.job_description 中的信息。它只是不显示在文本区域中
<div class="col-lg-6 mb-4">
<label class="form-label" asp-for="job_description"></label>
<textarea class="form-control" asp-for="job_description">@ViewBag.JobsDetails.job_description</textarea>
</div>
从Textarea有asp-for参数时不显示值我们可以看到:
您在这里观察到的行为是设计使然。 asp-for 故意覆盖文本区域的内容。
以下是您可以参考的两个选项:
选项 1.使用
name
属性而不是 asp-for
,例如:
<div class="col-lg-6 mb-4">
<label class="form-label" asp-for="job_description"></label>
<textarea class="form-control" name="job_description">@ViewBag.JobsDetails.job_description</textarea>
</div>
选项 2。您可以将模型传递到视图,如下所示:
在控制器中:
public IActionResult Index()
{
ViewBag.JobsDetails = new JobsDetails()
{
job_description = "Steve"
};
var model = ViewBag.JobsDetails;
return View(model);
}
视图中:
<div class="col-lg-6 mb-4">
<label class="form-label" asp-for="job_description"></label>
<textarea class="form-control" asp-for="job_description"></textarea>
</div>