2012-10-15 23 views
7

Ben aşağıdaki metin kutusu benim View:ASP.NET MVC TextBoxFor tutucu

enter image description here

tutucu için kod:

@Html.TextBoxFor(m => m.Listing.Location.AddressLine1, new {@placeholder="Address Line 1 - Required"}) 

Soru: nasıl metin yapabilirim KIRMIZI "Gerekli".

+0

bunun için gerekli bir modeli varlık ve kullanımını oluşturmak için gereken boş bir @ Html.TextBox için bu deneyin .. – Umitk

cevap

4

Bunu bir metin alanı ile yapamazsınız. HTML5 placeholder özniteliğinin yalnızca bazı bölümlerinin biçimlendirilmesi üzerinde hiçbir denetiminiz yoktur. Çok renkli bir metin elde etmek istiyorsanız, artık bir metin alanı veya metin kullanamazsınız. contenteditable="true" özniteliği olan bir öğeyi kullanmanız ve özel eklentinizi yazmanız gerekecektir. değer sunucuya gönderilir, böylece

<div contenteditable="true"> 
    Address Line 1 - <span style="color: red">Required</span>; 
</div> 

Ama bu yana

artık karşılık gelen gizli alan ile yedeklemek zorunda kalacak bir div öğedir:

İşte biçimlendirme gibi görünebilir nasıl örneğin bulunuyor . Ayrıca bu alanın değeri değiştiğinde, gizli alan değerini de yeniden senkronize etmeniz gerekir. Çok iş olacak. modeldeki

+1

Bu tamamen doğru değil, css (bazı tarayıcılarda) ile yer tutucuyu şekillendirebilirsiniz http://stackoverflow.com/questions/2610497/change-an-inputs-html5-placeholder-color-with-css ... – nemesv

+1

@nemesv, evet, ama yer tutucu metnin sadece bir bölümünü stillemek istiyor. Bunun için hesabımı cevaplandırdım. –

+0

Mmm. Benim için çok fazla iş var sanırım. – Subby

1

[Zorunlu]

public string AddressLine1{ get; set; } 

@Html.TextBoxFor(model => model.Listing.Location.AddressLine1, new { @class = "form-control" , placeholder = "Address Line 1 - Required" }) 

@Html.TextBox("CustomarName" ,null, new { @class = "form-control" , @placeholder = "Search With Customar Name" })