gpt4 book ai didi

c# - 根据数据类型在 MVC 3 中自动生成 HTML 属性

转载 作者:行者123 更新时间:2023-11-30 13:39:44 26 4
gpt4 key购买 nike

我在 MVC 模型中有以下属性:

[Range(0, double.MaxValue, ErrorMessage = "The Volume must have positive values!")]       
public decimal? Volume { get; set; }

生成的HTML是

<input type="text" value="1,00" name="Product.Volume" id="Product_Volume" data-val-range-min="0" data-val-range-max="1.79769313486232E+308" data-val-range="The Volume must have positive values!" data-val-number="The field Volume must be a number." data-val="true" class="text-box single-line">

如何使生成的 HTML 像这样:

<input type="text" value="1,00" name="Product.Volume" id="Product_Volume" data-val-range-min="0" data-val-range-max="1.79769313486232E+308" data-val-range="The Volume must have positive values!" data-val-number="The field Volume must be a number." data-val="true" class="text-box single-line" data-type="decimal" >

区别在于附加的data-type="decimal"

我希望自动添加 HTML 属性,因此我不必手动添加它。

最佳答案

Decimal 类型创建您自己的显示模板和编辑器模板 View ,这样您就可以控制它的显示,然后控制任何 Decimal 类型的模型属性每当您调用 Html.DisplayFor(m => m.DecimalType)Html.EditorFor(m => m.DecimalType)

时将自动使用该 View

将这些 View 添加到文件夹 Views > Shared > DisplayTemplates 和 EditorTemplates

例如,您的 EditorTemplate 将类似于:

@model decimal
@{
Layout = "~/Views/Shared/EditorTemplates/Template.cshtml";
}

@Html.TextBoxFor(x => x, new {data-type = "decimal"})

关于c# - 根据数据类型在 MVC 3 中自动生成 HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10830554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com