2015-04-02 1 views
0

Ceci est très étrange, ou peut-être que je ne comprends pas comment cela fonctionne. J'ai le code ci-dessous:Mise en forme @HtmlDropDownListFor en utilisant htmlAttributes ne fonctionne pas lors de la référence css class

<div class="form-group"> 
     @Html.LabelFor(model => model.Department, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownListFor(dep=>dep.DepartmentId,new SelectList(ViewBag.Departments,"Id","Name"), new {htmlAttributes = new {@class="mySelect"}}) 
      @Html.ValidationMessageFor(model => model.Department, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

Et une entrée de feuille de style:

.mySelect { 
    width: 5000px; 
    border: groove; 
} 

Cette combinaison ci-dessus ne formate pas ma liste déroulante, mais si je formatez direct, il fonctionne:

<div class="form-group"> 
     @Html.LabelFor(model => model.Department, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.DropDownListFor(dep=>dep.DepartmentId,new SelectList(ViewBag.Departments,"Id","Name"), new {@style = "width:500px;border:groove;"}) 
      @Html.ValidationMessageFor(model => model.Department, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

En outre, si j'ajoute le @style à la section htmlAttribute, cela ne fonctionne pas, ni ne remplace le bit @style par @ class = "mySelect" ...

Merci!

Répondre

0

utiliser directement @class sans htmlAttributes.

@Html.DropDownListFor(dep=>dep.DepartmentId,new SelectList(ViewBag.Departments,"Id","Name"), new { @class="mySelect" })