繁体   English   中英

如何在ASP.NET MVC中修改Razor View Engine生成的默认表单值?

[英]How do I modify default form values generated by Razor View Engine in ASP.NET MVC?

当属性不可为null时, Razor视图引擎将生成默认值。 那么如何覆盖这些默认值?

形式如下:

在此处输入图片说明

这是模型:

public class Movie
{
    public int Id { get; set; }

    [Required]
    [StringLength(255)]
    public string Name { get; set; }

    [Required]
    [Display(Name="Created on")]
    public DateTime DateAdded { get; set; }

    [Required]
    [Display(Name = "Release Date")]
    public DateTime ReleaseDate { get; set; }

    [Required]
    [Range(1,20)]
    [Display(Name = "Number in Stock")]
    public int NumberInStock { get; set; }

    public Genre Genre { get; set; }

    [Required]
    [Display(Name="Genre")]
    public int GenreId { get; set; }

}

该视图中一个属性的片段如下所示:

<div class="form-group">
    @Html.LabelFor(m => m.Movie.DateAdded)
    @Html.TextBoxFor(m => m.Movie.DateAdded, "{0:d MMM yyyy}", new { 
    @class = "form-control" })
    @Html.ValidationMessageFor(m => m.Movie.DateAdded)
</div>

如果您对模型始终填充特定的默认值(这样,不仅在此视图中,而且无论在何处创建模型的新实例)都很好,那么DefaultValueAttribute可能是最佳解决方案。

例如

[Required]
[Display(Name = "Release Date")]
[DefaultValue(typeof(DateTime), "2019-01-01 00:00:00")]
public DateTime ReleaseDate { get; set; }

有关MSDN中 DefaultValueAttribute更多信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM