2010-04-24 19 views
17

Entity Framework (v4) varlıklarını kullanıyorum. Ben türü tamsayı bir Year özelliği ile Car adında bir varlık var. Yıl özelliği NULL izin vermiyor. Benim oluşturma görünümünde şu var: CarController içinde eylem oluştur Ben benim HttpGet içinde (nedeniyle diğer gereksinimlere) Yeni Araba nesneyi döndürmek için gerekli amHtml.TextBoxFor kullanarak boş metin kutusunu bir EF varlığında sıfır olmayan bir özellik üzerinde görüntüleme

<%= Html.TextBoxFor(model => model.Year) %> 

.

Şu anda, Year özelliği NULL'a izin vermediği için Yıl metin kutusunda bir sıfır görüntülenir. Oluştur görünümünde boş bir metin kutusu görüntülemek istiyorum. Bunu nasıl yaparım?

cevap

1

yerine bu deneyin:

Html.TextBox("Year", "") 
+0

Bu şekilde yapabilirim ama Html.TextBoxFor kullanmayı tercih ederim. – thd

+0

@ Html.TextBoxFor (model => model.Yeni, yeni {Value = ""}) modelin bağlanmasına izin verir, bu cevap yapmaz. – MeanGreen

38

Kullanım Html Aşırı yük Özellikleri. ustura, şöyle olabilir:

@Html.TextBoxFor(model => model.Year, new { Value = "" }) 
+12

Bunun için "Değer" in bir "V" sermayesi olması gerektiğini belirtmek de önemlidir, ancak bu en iyi çözümdür. – blockloop

+3

Ayrıca, bağlantılı sorulardan birinde benzer bir yanıt hakkında yorumda bulunduğum gibi ... Bu, doğrulama hatalarıyla görünümü yeniden görüntülediğinizde, tipik MVC sunucu tarafı doğrulama ile kullanıldığında bunun iyi çalışmadığına dikkat edilmelidir (Ör; Eğer (! ModelState.IsValid) döndürürseniz View (viewmodel) '). Metin kutusunun herzaman sayfa yüklendiğinde boş bir dize görüntülenecektir. Bu, sayfanın normal ilk kez oluşturulması için harikadır, ancak kullanıcı doğrulama başarısız olduğunda geri döndüğünde kötüdür. Alanlara girdikleri veriler kaybolur ve boş dizeyle değiştirilir. – EF0

-1

bu size alanında eklenecek çalışırken veya boş TextBoxFor ile varolan alanını değiştirmek istediğiniz edilir olduğunu deneyin.

Html.TextBoxFor(model => model.Year, Model.Year="") 
İlgili konular