2015-01-13 130 views
5

我有添加css類到HTML.EditorFor()的問題。我在網上搜索是否有人遇到同樣的問題,但我找不到任何東西。HTML.EditorFor添加類不工作

你能幫我嗎?所以,它沒有問題關於CSS沒有定義的類,它是,但簡單地說,它沒有添加到輸入字段。 這是鑑於代碼:

@model eVinogradarstvo.Models.DetaljiViewModel 

@{ 
    ViewBag.Title = "Edit"; 
} 

@using (Html.BeginForm("PromijeniPodatke", "KorisnikDetalji", FormMethod.Post, new { enctype = "multipart/form-data",@class="form-horizontal" })) 
{ 
@Html.AntiForgeryToken() 

<div class="col-sm-12"> 
    @Html.ValidationSummary(true) 
    @Html.HiddenFor(model => model.kd.id) 
    @Html.HiddenFor(model => model.kd.korisnik_id) 
    @Html.HiddenFor(model => model.kd.slika) 
    @Html.HiddenFor(model => model.kd.dokument_id) 
    <table class="table table-responsive"> 
     <tr> 
      <td>Slika profila</td> 
      <td><input type="file" name="uploadImages" class="input-files" /></td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.ime)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.ime, new { htmlAttributes = new { @class = "form-control" } }) 
       @Html.ValidationMessageFor(model => model.kd.ime) 
      </td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.prezime)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.prezime, new { @class = "form-control" }) 
       @Html.ValidationMessageFor(model => model.kd.prezime) 
      </td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.adresa)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.adresa, new { @class = "form-control" }) 
       @Html.ValidationMessageFor(model => model.kd.adresa) 
      </td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.grad)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.grad) 
       @Html.ValidationMessageFor(model => model.kd.grad) 
      </td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.drzava)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.drzava) 
       @Html.ValidationMessageFor(model => model.kd.drzava) 
      </td> 
     </tr> 
     <tr> 
      <td>@Html.DisplayNameFor(model => model.kd.datum_rodenja)</td> 
      <td> 
       @Html.EditorFor(model => model.kd.datum_rodenja) 
       @Html.ValidationMessageFor(model => model.kd.datum_rodenja) 
      </td> 
     </tr> 
     <tr> 
      <td>Mjerna jedinica težine</td> 
      <td> 
       @Html.DropDownListFor(model => model.kd.mj_tezine, new SelectList(Model.DDLtezina, "vrijednost", "opis")) 
       @Html.ValidationMessageFor(model => model.kd.mj_tezine) 
      </td> 
     </tr> 
     <tr> 
      <td>Mjerna jedinica tekućine</td> 
      <td> 
       @Html.DropDownListFor(model => model.kd.mj_tekucine, new SelectList(Model.DDLtekucina, "vrijednost", "opis")) 
       @Html.ValidationMessageFor(model => model.kd.mj_tekucine) 
      </td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input type="submit" value="Spremi" class="btn btn-default" /></td> 
     </tr> 
    </table> 
</div> 

}

有什麼建議?

+0

看到這個 [http://stackoverflow.com/questions/4576209/asp-net-mvc-3-razor-adding-class-to-editorfor] [1] [1]:http://stackoverflow.com/questions/4576209/asp-net-mvc-3-razor-adding-class-to-editorfor –

+0

我已經看到了這個,我的語法是正確的。我已經嘗試了除了用jquery添加類之外的所有東西......如果我必須動態地添加類時它沒有任何意義......這可能是某種錯誤或某種東西?或者我錯過了一些東西...... – Veki

+0

@Veki所以你已經創建了一個自定義編輯器模板作爲該問題中接受的答案說?你能爲你的問題添加代碼嗎? – Rhumborl

回答

5

EditorFor在ASP.NET MVC 3不支持以這種方式將CSS傳遞到生成的HTML。您必須創建自定義編輯器模板並傳遞自定義ViewData條目並手動完成(如上面顯示的鏈接答案所示)。

這已在MVC 5.1中得到糾正,但如果您不願意創建自己的模板,則無法使用EditorFor在MVC 3中進行此項工作。

+0

5.1?好吧,現在我知道什麼是問題,我在MVC 5.0上。非常感謝,我會看看是否要升級它以使其工作,否則我會將其更改爲textboxfor。 – Veki

+0

@Veki如果你使用MVC 5,爲什麼你將問題標記爲MVC 3? –

+0

如果我沒有看到,我正在挑選他提供的內容,而且我想我的閱讀不好。我現在會改變它。我很抱歉 – Veki

0

使用的文本框代替EditFor這裏特殊的HTML屬性不被支持,它只是從MVC支持5.文本框是應該MVC 4的支持,我不知道其他的版本。

@Html.TextBox("test", "", new { @id = "signupform", @class = "form-control", @role = "form",@placeholder="Name" })