-1

これは単純なクエリで、常に次の例外をスローします。

タイプ 'System.Decimal' のオブジェクトをタイプ 'System.String' にキャストできません。

コード:

public ActionResult Search(SearchModel model)
{
    var vendorList = db.Vendors.Where(v => v.IssueAmount == model.IssueAmount)
                               .ToList();            

    if (vendorList != null && vendorList.Count > 1) 
       return View("SearchResults", vendorList);
    else if (vendorList != null && vendorList.Count == 1)
       return View("Details", vendorList[0]);
    else 
        return View();
}

IssueAmountは null 許容の 10 進数です。文字列フィールドのいずれかでこれを試してみると、うまくいきます。

編集:返信ありがとうございます、皆さん。私のモデルの 1 つでの検証が、例外をスローしていたことがわかりました。これは有効だと思いました:

    [DisplayName("Issue Amount")]
    [StringLength(13)]
    [DataType(DataType.Currency)]
    public decimal? IssueAmount { get; set; }

StringLength バリデーターを削除すると、問題なくクリックできます。

4

3 に答える 3