无法编辑唯一值

时间:2015-10-26 18:17:07

标签: asp.net-mvc

我在编辑数据方面遇到了一些困难。我有一些属性 - ISBN。我认为它具有独特的价值。当我创建新数据时,没关系,但是当我尝试编辑时,它已经在使用中。我该怎么办?

课本:

[Remote("IsISBNExists", "Book", ErrorMessage = "ISBN number is already in use")]
public string ISBN { get; set; }

BookController的:

public JsonResult IsISBNExists(string Isbn) {
    return Json(!bookContext.Books.Any(x => x.ISBN == Isbn), JsonRequestBehavior.AllowGet);
}

1 个答案:

答案 0 :(得分:0)

您可以添加您正在编辑的记录的ID,并使用它来确定ISBN是否正在使用中。

只需在AdditionalFields参数中添加您的图书ID字段,将其包含在验证请求中。

[Remote("IsISBNExists", "Book", AdditionalFields = "BookID", ErrorMessage = "ISBN number is already in use")]
public string ISBN { get; set; }

然后在验证中使用该字段

public JsonResult IsISBNExists(string Isbn, int BookID) {
    return Json(!bookContext.Books.Any(x => x.BookID != BookID && x.ISBN == Isbn), JsonRequestBehavior.AllowGet);
}