Удаленная проверка в mvc не работает

Я пытаюсь использовать удаленную проверку в своем приложении, чтобы проверить уже существующую запись.

Здесь:

[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


person Ubiquitous Developers    schedule 12.06.2015    source источник


Ответы (1)


Я думаю, что ваше определение действия doesGround неверно, попробуйте выполнить одно из них.

public JsonResult doesGround(bool MembershipGroundLevel, long? fk_Store_ID)

Также хорошо спросить, находится ли ваш контроллер проверки UserController в Area, если да, вам нужно указать имя области в RemoteAttribute определении по свойству RoutData.

person Marcin    schedule 13.06.2015
comment
не могли бы вы показать нам сгенерированный HTML для ввода fk_Store_ID и MembershipGroundLevel ? - person Marcin; 15.06.2015