Question

En fait, j'ai une table avec plusieurs éditeurs comme ceci:

<table>
<tr>
<td>@Html.EditorFor(x => x.Random1)</td>
<td>@Html.EditorFor(x => x.Random2)</td>
</tr>
<tr>
<td colspan="2">@Html.EditorFor(x=> x.Random3)</td>
</tr>
</table>

Maintenant, mon problème est, comme vous l'avez probablement déjà compris de la colspan = « 2 », est que je veux que mon troisième zone de texte pour étirer tout le chemin répercutant les deux colonnes. En HTML normal est ajouterait naturellement juste un attribut width. Y at-il un DataAnnotation comme DataType.MultilineText qui peut changer la largeur des éditeurs? D'autres idées?

Mise à jour: Si je change à un TextBoxFor au lieu de EditorFor, je peux effectivement ajouter @Html.TextBoxFor(x => x.Random, new { style = "width: 500px;" })
. Le seul problème est, j'ai une autre zone de texte (permet de dire random4) et il remplace en quelque sorte mon DataAnnotation MultilineText et en fait une zone de texte 500px plaine. Devinez avoir mal à digg dans le CSS: (

Était-ce utile?

La solution 2

solution la plus conviviale est le style que le contrôle dans le css. Pour la zone de texte random3 mal utiliser input[type="text"]{width:1px} et pour la multilinetext de random4, mauvais usage il suffit d'utiliser textarea{width:1px}

Autres conseils

Vous trouverez peut-être quelques-unes des réponses à cette question utile.

La bonne chose au sujet des modèles est que si vous ne le faites pas comme la façon dont ils travaillent, vous pouvez simplement déposer dans votre propre implémentation.

Vous pouvez également essayer d'utiliser CSS pour spécifier la largeur de votre commande, en fonction de l'ID de lui.

Dans la propriété du modèle - dans ce cas Random3 donner une annotation

public class ViewModelName
{
    [DataType(DataType.MultilineText)]
    public string Random3 { get; set; }
}

puis quand vous pouvez le Html.EditorFor (x => x.Random3), il saura qu'il doit être multiligne

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top