2014-06-16 9 views
8

Ho un valore int che voglio rendere come un valore numerico verso il basso con un ID che è "Quantità", quindi faccio il seguente nel rasoio:Come impostare l'editor numerico per min, max e valori predefiniti in Rasoio

<div class="field-label">@Html.LabelFor(m => model.Quantity)</div> 
<div class="field-editor">@Html.EditorFor(m => model.Quantity, null, "Quantity")</div> 

In chrome questo mi dà l'interfaccia utente giusta, tuttavia vorrei impostare il valore minimo, massimo e predefinito in modo che funzioni come il seguente codice.

<input id="Quantity" type="number" name="quantity" min="0" max="10" value="0" > 

risposta

14

È possibile farlo attraverso il sovraccarico "oggetto AddiditonalViewData" della funzione @ Html.EditorFor. Quindi specificare htmlAttributes in questo modo:

@Html.EditorFor(m => Model.Quantity, new {htmlAttributes = new {min = 0, max = 20} }) 

Si noti che il "valore" è impostato sul valore effettivo della proprietà quantità, non importa quello che si definisce nelle htmlAttributes.

+2

Questo funziona ma idealmente non si dovrebbe dover ripetere quei valori minimo e massimo. Mi aspetto che vengano raccolti dalle annotazioni dei dati. – Tundey

Problemi correlati