asp.net模型默认值

本文关键字:默认值 模型 net asp | 更新日期: 2023-09-27 17:58:14

我有一个模型,负责存储用户的表单输入并对其进行处理。我的问题是,如果可选字段为null,我如何将默认值分配给它。

例如:
型号:

MyModel
{
    public int? Price { get; set; }
}

控制器:

public ActionResult EditPrice(MyModel model)
{
    //Do something
}

视图:

@model MyModel
@using (Html.BeginForm())
{
     @Html.TextBoxFor(m => m.Price )
}

如果用户将文本框留空,则model。如果Price为null,我想知道如何分配一个默认值,比如-1。

注意,在构造函数中设置它是不起作用的,因为一旦用户将新值Price = null发布到控制器,它就会被覆盖。

Price = -1是我用来表示某个东西的约定,而Null表示其他东西,所以我不能在数据库中将其保留为Null。我知道我可以做model.Price = model.Price??-1;这样的检查,但我正在寻找一种更干净的方法。

编辑:通过参数方式,我可以做一些类似的事情

public ActionResult EditPrice(int? price = -1)
{
    //Do something
}

我基本上是在寻找一种方法来实现与模型相同的结果

asp.net模型默认值

就像任何类一样,您可以在构造函数中分配默认值。

MyModel
{
   public int? Price { get; set; }
   public MyModel() {
     Price =  -1;
   }
}