2015-10-26 58 views
2

我在编辑数据时遇到了一些困难。我有一些财产 - 国际标准书号。我把它赋予了独特的价值。当我创建新的数据时没问题,但是当我尝试编辑时,它已经在使用中。我能做什么?无法编辑唯一值

类书籍:

[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); 
} 

回答

0

您可以包括你正在编辑的记录的ID,并用它来确定ISBN是使用..

只需在AdditionalFields参数中添加您的Book 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); 
} 
+0

THX。它正在工作。 –