使用 ViewBag asp.net mvc core 填充文本区域

问题描述 投票:0回答:1

我有一个尚未填充的文本区域。 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>
asp.net-core model textarea razor-pages viewbag
1个回答
0
投票

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>

结果:

© www.soinside.com 2019 - 2024. All rights reserved.