1

したがって、私のモデルには次のものがあります。

public int Number {get; set;}

私のビューでは、次のように呼び出します。

@Html.TextBoxFor(m => m.Number, new { id = "Number" })

アプリケーションを実行すると、TextBox に 0 の値が表示されます。

私はこのようにモデルを変更しようとしました:

public int? Number {get; set;}

しかし、その後例外が発生します...しかし、私は自分のモデルに持っています

public decimal? Price {get; set;}

そして私の見解では:

@Html.TextBoxFor(m => m.Price, new { id = "Price" })

私が実行すると、このテキストボックスは空で、すべて問題ありません。この場合、int を null 許容型にできない理由を誰かが説明していますか? 私が得る例外はMethod not found: 'Int32'

目標は、テキストボックスに0の値を持たせることではなく、通常の空のテキストボックスにすることです

4

1 に答える 1

0

次のように、ビューに検証を追加してみてください。

@Html.TextBoxFor(m => m.Price, new { id = "Price" }) @Html.ValidationMessageFor(m => m.Price)

また、コントローラーでは、モデルの状態が有効かどうかを確認する必要があります。

 If(ModelState.IsValide)
{
// code if all is ok
}
else
{
ModelState.AddModelError("", "Error Message");
                  return View(Model);
}
于 2012-04-18T12:18:34.643 に答える