2015-10-26 60 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。它正在工作。 –