I want to change the background of the textbox. This is my code:
@Html.TextBoxFor(p => p.Publishers[0].pub_name)
What more do I need to
Now you can add html attributes like this:
@Html.EditorFor(p => p.Publishers[0].pub_name, new { htmlAttributes = new { @class =
"YourBackgroundClass" } })
In my case I did like below. I have ASP.NET MVC application and we are using Bootstrap. I gave float:left to all my div elements. Just wanted to show how you can use @style along with @class for @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>
An overload of the TextBoxFor method allows you to pass an object for the HTML attributes.
@Html.TextBoxFor(p => p.Publishers[0].pub_name, new { Class="YourBackgroundClass" })
Then you can have a CSS rule such as:
.YourBackgroundClass { background:#cccccc; }
If you want to apply a style directly you can do:
@Html.TextBoxFor(p => p.Publishers[0].pub_name, new { Style="background:#cccccc;" })