0

私の MVC 4 サイトには、1 つの db テーブルからのデータのリストを部分的に表示するダッシュボードがあります (私のデータベースは、Entity Framework コード ファースト メソッドを使用して生成されました)。表示されているデータは、注文のリストとその注文に関する情報です。現在、同じ注文に数量を追加する機能を追加しようとしています (例: この注文を 10、25、50、100 個で見積もる必要があります)。各行の編集、詳細、および削除オプションのすぐ隣には、ユーザーが別の数量を追加するための追加ボタンがあります。ただし、テストでは、数量を送信しようとすると、入力された値が完全に有効な入力であるはずなのに、入力された値が無効であるという検証エラーが発生します。なぜこれが起こっているのか理解できないので、誰か助けてください。関連するコードの一部を次に示します。

モデル:

General_Info.cs

public class General_Info
{
    [Key]
    public int Quote_ID { get; set; }

    [DisplayFormat(DataFormatString = "{0:d}", ApplyFormatInEditMode = true)]
    public DateTime Open_Quote { get; set; }
    public string Customer_Name { get; set; }
    public string OEM_Name { get; set; }
    public int Qty { get; set; }
    public string Fab_Drawing_Num { get; set; }
    public string Rfq_Num { get; set; }
    public string Rev_Num { get; set; }
    public string Group_Number { get; set; }

    public General_Info()
    {
        Quantitys = new HashSet<Quantity>();
        Quote_Datas = new HashSet<Quote_Data>();
    }

    public virtual ICollection<Quantity> quantitys { get; set; }
}

数量.cs

public class Quantity
{
    [Key]
    public int Qty_ID { get; set; }

    public string Group_Number { get; set; } // foreign key
    public int quantity { get; set; }
    public General_Info General_Info { get; set; }

}

ダッシュボード コントローラ:

[HttpGet]
    public ActionResult AddQuantity(int Group_Num = 0)
    {
        return View();
    }

    [HttpPost]
    public ActionResult AddQuantity(Quantity quantity)
    {
        if (ModelState.IsValid)
        {
            db.Quantitys.Add(quantity);
            db.SaveChanges();
            return RedirectToAction("Index");
        }

        return View(quantity);
    }

AddQuantity.cshtml を表示

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>Quantity</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.quantity)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.quantity)
        @Html.ValidationMessageFor(model => model.quantity)
    </div>
    <p>
        <input type="submit" value="Add Qty" />
    </p>
</fieldset>
}

ご覧のとおり、私のモデルでは数量は整数であり、フォームに整数を入力すると検証エラーがスローされます。

助けていただける方、よろしくお願いします。

4

1 に答える 1