我创建了一个具有十进制类型的两个属性的类,之后我创建了控制器并通过使用Visual Studio自动查看.....但是,当我输入Create Form的值时,出现此错误: 无法将类型为“ System.Decimal”的对象转换为类型为“ System.String”。
这是我的模型中小数变量的一部分:
[Display(Name = "رسوم الدورة")]
[StringLength(100, ErrorMessage = "العنوان طويل")]
[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
public decimal CourseFees { get; set; }
[Display(Name = "الشهادة")]
public Certificate Certificate { get; set; }
[Display(Name = "رسوم الشهادة")]
[StringLength(100, ErrorMessage = "العنوان طويل")]
[DisplayFormat(DataFormatString = "{0:F2}", ApplyFormatInEditMode = true)]
public decimal CertificateCost { get; set; }
这是创建文件中视图代码的一部分(仅小数部分):
<div class="form-group">
<label asp-for="CourseFees" class="control-label"></label>
<input asp-for="CourseFees" class="form-control" />
<span asp-validation-for="CourseFees" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Certificate" class="control-label"></label>
<select asp-for="Certificate" asp-items="Html.GetEnumSelectList<Certificate>()" class="form-control"></select>
<span asp-validation-for="Certificate" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="CertificateCost" class="control-label"></label>
<input asp-for="CertificateCost" class="form-control" />
<span asp-validation-for="CertificateCost" class="text-danger"></span>
</div>
答案 0 :(得分:1)
删除StringLength属性。