0

アプリケーションでリモート検証を使用して、既存のレコードを確認しようとしています。

ここ:

[Required(ErrorMessage = "*")]
public Nullable<long> fk_Store_ID { get; set; }

    [System.Web.Mvc.Remote("doesGround", "User", HttpMethod = "POST", ErrorMessage = "Ground Level is already exists for this store.", AdditionalFields = "fk_Store_ID")]
[DefaultValue(false)]
    public bool MembershipGroundLevel { get; set; }

そして私のコントローラーアクション:

[HttpPost]
public JsonResult doesGround(bool MembershipGroundLevel, long? fk_Store_ID)
{
    Int64 store_id = Convert.ToInt64(fk_Store_ID);
    var count = db.tbl_Membership
     .Where(o => o.fk_Store_ID == store_id && o.MembershipGroundLevel == true && o.isVisible == true).Count();
    return count >= 1 ? Json(false, JsonRequestBehavior.AllowGet) : Json(true, JsonRequestBehavior.AllowGet);
}

ここでは、両方に NULL 値を取得しています。データ型をそれぞれ bool と long に変更した場合。内部サーバー 500 エラーが発生しています

4

1 に答える 1

0

doesGroundアクションの定義が間違っていると思います。次のアクションを試してください

public JsonResult doesGround(bool MembershipGroundLevel, long? fk_Store_ID)

また、検証UserControllerコントローラーが にあるかどうかを確認することもお勧めします。はい、プロパティによって定義Areaで領域名を指定する必要があります。RemoteAttributeRoutData

于 2015-06-13T15:28:36.347 に答える