asp.net模型默认值

时间:2014-04-14 20:56:46

标签: c# asp.net

我有一个模型,负责存储用户的表单输入并对其执行某些操作。我的问题是,如果它是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,我想知道如果Price为null,我可以如何指定默认值,如-1。

注意在构造函数中设置它将无法工作,因为一旦用户将新值Price = null发布到控制器,它将被覆盖。

Price = -1是我用于某事的约定,Null表示其他内容,因此我无法在数据库中将其保留为null。我知道我可以像model.Price = model.Price??-1;那样进行检查但是我正在寻找一种更清洁的方法。

编辑: 使用参数方式我可以做类似的事情

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

我基本上在寻找一种方法来与Model

实现相同的结果

1 个答案:

答案 0 :(得分:0)

就像任何类一样,你可以在构造函数中指定默认值。

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

   public MyModel() {
     Price =  -1;
   }
}