我有一个模型,负责存储用户的表单输入并对其执行某些操作。我的问题是,如果它是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
实现相同的结果答案 0 :(得分:0)
就像任何类一样,你可以在构造函数中指定默认值。
MyModel
{
public int? Price { get; set; }
public MyModel() {
Price = -1;
}
}