3

モデル クラスに 2 つのプロパティがあります。

public int? IntTest { get; set; }
public decimal? DecimalTest { get; set; }

次に、次のようにレンダリングします。

@Html.EditorFor(model => model.IntTest, new { htmlAttributes = new { @class = "form-control"} })
@Html.EditorFor(model => model.DecimalTest, new { htmlAttributes = new { @class = "form-control"} })

どちらも数値型のhtml入力としてレンダリングされると思っていましたが、10進数はそうではありません。

<input class="form-control text-box single-line" data-val="true" data-val-number="The field IntTest must be a number." id="IntTest" name="IntTest" type="number" value="" />
<input class="form-control text-box single-line" data-val="true" data-val-number="The field IntTest must be a number." id="DecimalTest" name="DecimalTest" type="text" value="" />

10 進数値は としてレンダリングされますtype="text"が、int は として登録されtype="number"ます。

この質問は、期待される動作ではないことを意味するので、何か間違ったことをしていますか?

それが期待される動作である場合、すべての小数フィールドに追加するのではなく、EditorForすべての小数を としてレンダリングするように変更する方法はありますか?type="number"type = "number"htmlAttributes

4

1 に答える 1