【问题标题】:Setting form value to C# Variable将表单值设置为 C# 变量
【发布时间】:2018-10-31 11:21:43
【问题描述】:

我有一个基本的输入表单,我需要将 entryDate 字段自动设置为今天的日期,这样当用户点击提交时,数据库将自动填充今天的日期(作为字符串)

<input for="EntryDate" value=@entryDate class="form-control" bind="@ath.EntryDate"/>

@functions{
    EventAthlete ath = new EventAthlete();

    string entryDate = DateTime.Now.ToShortDateString();

    protected async Task AddAthlete()
    {
        await Http.SendJsonAsync(HttpMethod.Post, "/api/Athlete/Add", ath);

    }
}

我希望上面的代码会用我的entryDate 变量自动填充表单?

或者更好的是有没有办法而不是说ath.Entrydate 绑定到那个表单,是否可以在我的Functions@{} 中自动设置ath.Entrydate

【问题讨论】:

    标签: c# razor blazor


    【解决方案1】:

    另外,如果你至少使用 C# 6.0,你可以默认属性的初始化值。

    public DateTime EntryDate { get; } = DateTime.Now;
    

    【讨论】:

    • 可以确认这在 .Net core 2.1 中确实有效,并决定走这条路。
    • 你也可以public DateTime EntryDate =&gt; DateTime.Now;
    • @Chris Right,这正是威廉正在使用的。
    • @AustinWBryan 我不是说你错了,只是添加到你的评论中。
    【解决方案2】:

    为 EventAthlete 创建一个默认构造函数并将 entryDate 属性设置为今天的日期。

    public class EventAthlete
    {
        public DateTime entryDate { get; set; }
        public EventAthlete() => entryDate = DateTime.Now;
    }
    

    【讨论】:

    • 嘿!我的男人这工作哈哈我实际上做了 DateTime.Now.ToShortDateString() 因为我的数据字段是一个字符串。
    • 快速提问,如果我想添加另一个默认值,我是直接将该属性添加到默认构造函数中,还是创建另一个?
    • 您确实应该创建另一个问题,但它的方法类似。在类中创建属性,在默认构造函数中赋值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多