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

Input with default value set to 0 is being rendered without the 0

我的页面上有一个接受整数值的 HTML 数字输入。代码如下:

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

在我的模型中,我已将所有 Score 属性默认设置为 0,但它仍然没有在视图中以 0 呈现。然后我直接在输入上使用 value="0" 但它仍然没有呈现 0.

呈现如下:

<input class="form-control" id="Answer[0]_Score" name="Answer[0].Score" type="number" value="">

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

有什么方法可以让 0 成为默认值而不是空白值?

使用Value with a capital V:

Value = "0" 

没有

value="0"

value 是 setter 中使用的关键字。 for example.

private int num;
public virtual int Number
{
    get { return num; }
    set { num = value; }
}

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

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

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

确保值中的 'v' 是大写字母。然后使用:

    Value = "0"