mvc中的远程验证无法正常工作

时间:2015-06-12 12:58:14

标签: asp.net-mvc remote-validation

我正在尝试在我的应用程序中使用远程验证来检查已存在的记录。

下面:

[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错误

1 个答案:

答案 0 :(得分:0)

我认为您的操作doesGround定义错误,请尝试按照一个

public JsonResult doesGround(bool MembershipGroundLevel, long? fk_Store_ID)

也可以询问您的验证UserController控制器是否在Area中,是的,您需要在RemoteAttribute属性RoutData中指定区域名称。