默认值设置为0的输入在没有0的情况下呈现

Bad*_*Dub 4 html c# default input

我的页面上有一个HTML编号输入,它接受一个整数值.代码如下:

@Html.TextBox("Answer[" + i + "].Score", null, new { @class = "form-control", type = "number", value="0", id = "Answer[" + i + "]_Score" })
Run Code Online (Sandbox Code Playgroud)

在我的模型中,我将所有Score属性默认为0,但在视图中仍然没有使用0进行渲染.然后我value="0"直接在输入上使用但它仍然不呈现0.

它呈现如下:

<input class="form-control" id="Answer[0]_Score" name="Answer[0].Score" type="number" value="">
Run Code Online (Sandbox Code Playgroud)

当我去保存表单时,这只是一个问题,当得分不可为空时,会向控制器发送空值,因此表单不会提交.

有没有办法让0成为默认值而不是空白值?

Yve*_*omb 5

使用大写字母V的值:

Value = "0" 
Run Code Online (Sandbox Code Playgroud)

value="0"
Run Code Online (Sandbox Code Playgroud)

value是setter中使用的关键字.例如.

private int num;
public virtual int Number
{
    get { return num; }
    set { num = value; }
}
Run Code Online (Sandbox Code Playgroud)

因为您需要在创建对象时在后面的代码中显式设置"num"的值(在本例中为Answer _ ++) - 该值未设置,因此它为空.

因此Value不会被setter的值覆盖.

通过控制器传递数据时,也总是有错误处理和空检查.

  • 它说我几分钟前等待3分钟.当我能:)时,我会给予答案 (2认同)