2013-02-06 6 views
1

У меня есть довольно простая форма, которую я визуализую из представления с использованием модели. В этой форме у меня есть сом текстовые входы, как это:Удалить по умолчанию Html.TextBoxFor встроенный стиль

<div class="editor-label"> 
    @Html.LabelFor(model => model.UserProfile.FirstName) 
</div> 
<div class="editor-field"> 
    @Html.TextBoxFor(model => model.UserProfile.FirstName) 
    @Html.ValidationMessageFor(model => model.UserProfile.FirstName) 
</div> 

Когда это оказывается на веб-странице он содержит этот противный внутренний стиль:

<input 
id="UserProfile_FirstName" 
name="UserProfile.FirstName" 
type="text" 
value="xxx" 
sourceindex="4" 
style="border-style: solid; border-width: 1px; 
    border-color: rgb(238, 50, 50) rgb(240, 80, 80) rgb(240, 80, 80); 
    box-shadow: rgb(250, 230, 230) 1px 1px inset; 
    -webkit-box-shadow: rgb(250, 230, 230) 1px 1px inset;"> 

I'v пытался несколько подходов для устранения этого, в том числе

@Html.TextBoxFor(model => model.UserProfile.LastName, null, 
{ @style = "border-width: 0px;" }) 

И подобные, но встроенные стили, которые я добавляю, добавляются перед стилями, которые я хочу удалить, чтобы они были перезаписаны.

Как я могу удалить или переопределить этот встроенный стиль?

ответ

1

Я не думаю, что это поведение по умолчанию для помощника TextBoxFor. У вас есть какие-либо jQuery-плагины, запущенные на странице? Особенно тот, который может вводить встроенный стиль, подобный этому?

+0

Да, я слишком долго переходил мне в голову. У меня есть jquery 1.8.3 (jquery, jquery-ui, jquery.unobtrusive и jquery.validate) и модернизатор на сайте. Я попытался удалить jquery.validate с сайта, и он исчез. Но я не хочу, чтобы не использовать jquery.validate. Но я думаю, что это вопрос для другого поста. По крайней мере, я нашел преступника. Благодарю. –

+0

Это действительно странно. Я еще не видел jquery.validate. Я понял, что это связано с jQuery, поскольку исходный код HtmlHelper не применяет никаких атрибутов стиля. –