2011-07-31 10 views

Odpowiedz

43

Przeciążenie metody TextBoxFor pozwala przekazać obiekt do atrybutów HTML.

@Html.TextBoxFor(p => p.Publishers[0].pub_name, new { Class="YourBackgroundClass" }) 

Wtedy można mieć regułę CSS, takie jak:

.YourBackgroundClass { background:#cccccc; } 

Jeśli chcesz zastosować styl bezpośrednio można zrobić:

@Html.TextBoxFor(p => p.Publishers[0].pub_name, new { Style="background:#cccccc;" }) 
+0

Dzięki A co, jeśli nie chcę użyć klasy. Zamiast tego możesz bezpośrednio podać jakiś atrybut? Próbowałem i to nie działa: '@ Html.TextBoxFor (p => p.Publishers [0] .pub_name, new {foreground =" red "})' – TCM

+0

Również na twoim przykładzie nie działa. Otrzymuję błąd, ponieważ klasa jest zarezerwowanym słowem. – TCM

+3

@Anthony: Naprawiłem próbkę, powinno to być '@ class', ponieważ rzeczywiście' class' jest zastrzeżonym słowem kluczowym. –

4

W moim przypadku zrobiłem jak poniżej . Mam aplikację ASP.NET MVC i używamy Bootstrap. Dałem float: pozostawiony wszystkim moim elementom div. Chciałem tylko pokazać, jak można wykorzystać @style wraz z @class dla @ Html.TextBoxFor

<div class="modal-body" style="height:auto; overflow-y:auto;max-height:500px;"> 
    <table style="width:100%" cellpadding="10"> 
    <tr> 
     <td> 
     <div style="display: inline; "> 
      <label style=" float:left; margin-right:20px;">Login Name: </label> 
      @Html.TextBoxFor(m => Model.UserPrincipalName, new { @id = "LoginName", @class = "form-control", @style = "float:left;margin-right:10px;margin-top:-5px;" }) 
      <a href="#" onclick="SearchActiveDirectoryByLoginName()" title="Search Active Directory" class="btn btn-primary" style="float: left; margin-top: -5px;"> 
        @Html.Raw(" Search ") 
      </a> 
     </div> 
     </td> 
     </tr> 
    </table> 
</div> 

enter image description here

+0

To zadziałało bardzo dobrze dla mnie. Dziękuję –

+1

Dobrze, że działało dobrze dla Ciebie .. – Ziggler

Powiązane problemy