Asp.net core <;textarea>;不';与“同时显示”时,不显示内部文本;asp for=";

Asp.net core <;textarea>;不';与“同时显示”时,不显示内部文本;asp for=";,asp.net-core,razor,html-helper,Asp.net Core,Razor,Html Helper,这将在文本区域内显示“Hello there”: @model PlannerViewModel @{ ViewData["Title"] = "Test"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Test</h2> <form method="post"> <div class="border rounded"> <textarea class

这将在文本区域内显示“Hello there”:

@model PlannerViewModel
@{
    ViewData["Title"] = "Test";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Test</h2>
<form method="post">
    <div class="border rounded">
        <textarea class="form-control MyTextArea" rows="4">Hello there</textarea>
    </div>
</form>
@model PlannerViewModel
@{
ViewData[“标题”]=“测试”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
试验
你好
这不会在文本区域内显示“Hello here”:

@model PlannerViewModel
@{
    ViewData["Title"] = "Test";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<h2>Test</h2>
<form method="post">
    <div class="border rounded">
        <textarea class="form-control MyTextArea" rows="4" asp-for="EditShutdown.Comments_Operations">Hello there</textarea>
    </div>
</form>
@model PlannerViewModel
@{
ViewData[“标题”]=“测试”;
Layout=“~/Views/Shared/_Layout.cshtml”;
}
试验
你好

如您所见,唯一的区别是“asp for”的存在。我做错什么了吗?有什么解决办法吗?

asp for
提供一个
名称
并填充其值,因此您可以只设置
编辑关机。注释操作
值为
“您好”
以显示它。

根据您的请求,您可以尝试使用
占位符
属性,如下所示:

<form method="post">
<div class="border rounded">
    <textarea class="form-control MyTextArea" rows="4" placeholder="Hello there" asp-for="EditShutdown.Comments_Operations"></textarea>
</div>
</form>

当您执行“创建”操作时,您可以看到提示消息
“您好”
;当您执行“编辑”操作时,您可以看到
EditShutdown.Comments\u Operations
的值

对于
asp For
属性,您可以参考:

要解决这个恼人的事件,您可以使用

@Html.IdFor

@Html.NameFor

榜样

<textarea id="@Html.IdFor(m => m.EditShutdown.Comments_Operations)" name="@Html.NameFor(m => m.EditShutdown.Comments_Operations)">Hello there</textarea>
你好
Hi#Alexander;它不起作用。即使EditShutdown.Ccomments\u操作已经有了一个值,该值也是空的。Chen Xueli Chen:“占位符”的目的是创建水印,而不是用文本填充框。在这种情况下,我尝试了一下,文本“Hello there”出现了,但在点击后立即消失,这是应该的-因此用户无法编辑该文本。文本框用于什么操作、添加或更新?您希望达到什么效果?这实际上是解决.NET Core 3.1问题的唯一答案。请注意,如果没有asp for,模型验证将无法工作,因此希望在.NET Core 5.0上解决这个问题