Label 标记 asp-for 未显示
Label tag asp-for is not displaying
我有这个 ViewModel class
public class ThirdPartyTransfer
{
public int Id { get; set; }
[Display(Name = "Transfer Amount")]
public decimal TransferAmount { get; set; }
}
在我的 C# Razor 页面中,ThirdPartyTransfer.cshtml
<div class="form-group">
<label asp-for="ThirdPartyTransfer.TransferAmount" />
<input asp-for="ThirdPartyTransfer.TransferAmount" class="form-control" />
<span asp-validation-for="ThirdPartyTransfer.TransferAmount" class="text-danger"></span>
</div>
下面是正在渲染的内容
<div class="form-group">
<label for="ThirdPartyTransfer_TransferAmount" />
<input class="form-control" type="text" data-val="true" data-val-number="The field Transfer Amount must be a number." data-val-required="The Transfer Amount field is required." id="ThirdPartyTransfer_TransferAmount" name="ThirdPartyTransfer.TransferAmount" value="" />
<span class="text-danger field-validation-valid" data-valmsg-for="ThirdPartyTransfer.TransferAmount" data-valmsg-replace="true"></span>
</div>
我想知道为什么我能看到文本框但看不到标签。
好吧,史蒂夫,你的问题与你的 HTML 有关。标签不应自动关闭。
将其更改为 <label asp-for=""></label>
就可以了!
来自微软文档;
自闭标签助手
许多标签助手不能用作自关闭标签。一些 Tag Helpers 被设计成自关闭标签。使用未设计为自动关闭的标记帮助程序会抑制呈现的输出。自闭 Tag Helper 会在呈现的输出中产生一个自闭标签。有关详细信息,请参阅 this note in Authoring Tag Helpers。
我有这个 ViewModel class
public class ThirdPartyTransfer
{
public int Id { get; set; }
[Display(Name = "Transfer Amount")]
public decimal TransferAmount { get; set; }
}
在我的 C# Razor 页面中,ThirdPartyTransfer.cshtml
<div class="form-group">
<label asp-for="ThirdPartyTransfer.TransferAmount" />
<input asp-for="ThirdPartyTransfer.TransferAmount" class="form-control" />
<span asp-validation-for="ThirdPartyTransfer.TransferAmount" class="text-danger"></span>
</div>
下面是正在渲染的内容
<div class="form-group">
<label for="ThirdPartyTransfer_TransferAmount" />
<input class="form-control" type="text" data-val="true" data-val-number="The field Transfer Amount must be a number." data-val-required="The Transfer Amount field is required." id="ThirdPartyTransfer_TransferAmount" name="ThirdPartyTransfer.TransferAmount" value="" />
<span class="text-danger field-validation-valid" data-valmsg-for="ThirdPartyTransfer.TransferAmount" data-valmsg-replace="true"></span>
</div>
我想知道为什么我能看到文本框但看不到标签。
好吧,史蒂夫,你的问题与你的 HTML 有关。标签不应自动关闭。
将其更改为 <label asp-for=""></label>
就可以了!
来自微软文档;
自闭标签助手
许多标签助手不能用作自关闭标签。一些 Tag Helpers 被设计成自关闭标签。使用未设计为自动关闭的标记帮助程序会抑制呈现的输出。自闭 Tag Helper 会在呈现的输出中产生一个自闭标签。有关详细信息,请参阅 this note in Authoring Tag Helpers。