2012-10-15 12 views
7

mam następujące pole tekstowe w moim View:ASP.NET MVC TextBoxFor zastępczy

enter image description here

Kod dla zastępczy:

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

Pytanie: Jak zrobić tekst "Wymagane" w CZERWONO.

+0

trzeba utworzyć jednostkę modelu i stosowanie wymaganej dla niego .. – Umitk

Odpowiedz

4

Nie można tego zrobić z polem tekstowym. Nie masz wpływu na formatowanie tylko niektórych części atrybutu HTML5 placeholder. Nie wspominając o tym, że jeśli chcesz uzyskać wielokolorowy tekst, nie możesz już używać pola tekstowego lub obszaru tekstowego. Będziesz musiał użyć elementu z atrybutem contenteditable="true" i napisać niestandardową wtyczkę.

Oto na przykład jak markup może wyglądać następująco:

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

Ale ponieważ jest to div elementem będzie teraz mieć jego kopię zapasową z odpowiedniego pola ukrytego tak, że wartość jest wysyłana do serwera . Również, gdy wartość tego pola ulegnie zmianie, należy ponownie zsynchronizować wartość ukrytego pola. To będzie dużo pracy.

+1

To nie jest do końca prawdą, możesz ustawić symbol zastępczy za pomocą css (w niektórych przeglądarkach) http://stackoverflow.com/questions/2610497/change-an-inputs-html5-placeholder-color-with-css ... – nemesv

+1

@nemesv, tak dobrze, ale chce stylizować tylko część tekstu zastępczego. Zaktualizowałem swoją odpowiedź na to konto. –

+0

Mmm. To chyba za dużo pracy dla mnie. – Subby

1

w modelu

[Wymagane]

public string AddressLine1{ get; set; } 

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

spróbować tego na pustym @ Html.TextBox

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