"Id alanı için gereken" Oluştur doğrulama mesajı; Kimliği için [Gerekli]ayarlanmamış
Bu varlık ASP.NET stil Oluşturma eylemi MVC 2 kullanarak oluşturmaya çalışırken oluyor.
Bu POCO aşağıdaki özelliklere sahiptir:
public int Id {get;set;}
[Required]
public string Message {get; set}
Varlığın yaratılışı, Kimliği otomatik olarak ayarlanır, bu eylem Oluşturmak için gerek yok.
Bu ModelState "İd alanı gereklidir", ama o kadar. olacak şekilde ayarlamak yok diyor Otomatik bir şey var mı?
DÜZENLEME Nedeni Ortaya çıktı
Sorunun nedeni diyor nerede altında yorumlar (şerefe Paul) Paul Speranza ile Brad Wilson ile cevap verdi
İçin bir değer sağlamaya ... KİMLİK, sen olduğunu bilmiyordum. Varsayılan rota veri. ("{denetleyicisi} {action}//{id}"),rota ve varsayılan değer boştur bir int için geçerli değil dize. [Bağlama] özniteliği kullanın KİMLİĞİ dışlamak için eylem parametresi. Benim varsayılan rota: yeni { denetleyicisi = ""Action = "" id = " "Düzenlemek müşteri } // Parametre varsayılan
- Model tekniği Güncelleme DÜZENLEYİN
Aslında TryUpdateModel ve hariç parametre dizisi ile eşlik eden kullanarak tekrar yaptığım şekilde değişti.
[HttpPost]
public ActionResult Add(Venue collection)
{
Venue venue = new Venue();
if (TryUpdateModel(venue, null, null, new[] { "Id" }))
{
_service.Add(venue);
return RedirectToAction("Index", "Manage");
}
return View(collection);
}
CEVAP
Öznitelik ekleyebilirsiniz:
[Bind(Exclude = "Id")]
yöntem parametre yerine sınıf, dışlama ve hala zorunlu olacak düzenleyebilirsiniz yolda oluşturun:
public ActionResult Create([Bind(Exclude = "Id")] User u)
{
// will exclude for create
}
public ActionResult Edit(User u)
{
// will require for edit
}

Postgresql: parola kimlik doÄŸrulama ku...
İzah "talep tabanlı kimlik doğrul...
C "sanal" türetilmiş sınıf f...
Hata mesajı çözmek için nasıl: "g...
HTML5 "gerekli" onay kutular...