我有这个ViewModel类
public class ThirdPartyTransfer
{
public int Id { get; set; }
[Display(Name = "Transfer Amount")]
public decimal TransferAmount { get; set; }
}
以及在我的C#剃须刀页面中,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>
我想知道为什么我可以看到文本框但看不到标签。
答案 0 :(得分:1)
好吧,史蒂夫,您的问题与HTML有关。标签标签不应自动闭合。
将其更改为<label asp-for=""></label>
,就可以了!
来自Microsoft文档;
自动关闭标签助手
许多标签助手不能用作自动关闭标签。一些标签助手被设计为自动关闭标签。使用并非设计为自动关闭的Tag Helper会抑制呈现的输出。自闭合标签助手会在呈现的输出中产生自闭合标签。有关更多信息,请参阅this中的Authoring Tag Helpers注释。