gpt4 book ai didi

c# - 如何自动将占位符属性添加到 mvc 4 中的 html 输入类型编号?

转载 作者:太空狗 更新时间:2023-10-29 18:18:42 26 4
gpt4 key购买 nike

这是一个非常具体的问题。我设法通过使用名为 EmailAddress.cshtml 的编辑器模板自动将占位符属性添加到 html5 电子邮件输入类型,该模板保存在 ~/Views/Shared/EditorTemplates/ 文件夹中。请看下面的代码:

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "text-box single-line", placeholder = ViewData.ModelMetadata.Watermark })

之所以有效,是因为我在我的 View 模型中使用了 [DataType(DataType.EmailAddress)] DataAnnotation。

当我使用 int? 变量时不起作用。

public class MiageQuotaRequestViewModel
{
[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Nombre de place demandées", Prompt = "Nombre de place")]
[Range(0, 50, ErrorMessage = "La demande doit être comprise entre 0 et 50 places")]
public int? RequestedQuota { get; set; }
}

@Html.EditorFor 像这样翻译这个输入:

<input class="text-box single-line" data-val="true" data-val-number="The field Nombre de place demandées must be a number." data-val-range="La demande doit être comprise entre 0 et 50 places" data-val-range-max="50" data-val-range-min="0" data-val-required="Le champ Nombre de place demandées est requis." id="RequestedQuota" name="RequestedQuota" type="number" value="">

问题是我无法显示Prompt DataAnnotation(通常由placeholder 翻译)。此外,DataType 枚举没有任何“数字”或“整数”值可以让我像使用 EmailAddress DataType 一样使用 EditorTemplate。

最佳答案

基于 Pat Burke评论,我可以使用 UIHint 数据属性结合好的编辑器模板。

这是一个示例(编辑器模板):

@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { @class = "text-box single-line", placeholder = ViewData.ModelMetadata.Watermark, type = "number" })

(ViewModel)

public class MiageQuotaRequestViewModel
{
[Required]
[UIHint("Number")]
[DataType(DataType.EmailAddress)]
[Display(Name = "Nombre de place demandées", Prompt = "Nombre de place")]
[Range(0, 50, ErrorMessage = "La demande doit être comprise entre 0 et 50 places")]
public int? RequestedQuota { get; set; }
}

最后的结果是:

enter image description here

<input class="text-box single-line" 
data-val="true"
data-val-number="The field Nombre de place demandées must be a number."
data-val-range="La demande doit être comprise entre 0 et 50 places"
data-val-range-max="50"
data-val-range-min="0"
data-val-required="Le champ Nombre de place demandées est requis."
id="RequestedQuota"
name="RequestedQuota"
placeholder="Nombre de place"
type="number"
value="">

关于c# - 如何自动将占位符属性添加到 mvc 4 中的 html 输入类型编号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14570165/

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