RAZOR : Soumettre des objets
Bonjour à tous,
J'ai un petit souci, je travail sur un Projet WEB MVC Razor.
Je dois via une page Web Razor afficher des données et les soumettre après mise à jour (les renvoyer au controller).
j'utilise ce modèle:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public class MetadataViewModel
{
[Required]
public string SQLType { get; set; }
[Required]
public Int16 ?LenghtType { get; set; }
[Required]
public Int32 PropertyID { get; set; }
[Required(ErrorMessage =
"Le champ est requis")]
[RegularExpression(@"^(?:[a-zA-Z0-9.]+\s?)+$", ErrorMessage = "Aucun espace au début ou en fin du champ")]
[StringLength(32, ErrorMessage =
"Le doit faire 32 caractéres maximum")]
public Object Value { get; set; }
[Required]
public string Name { get; set; }
[Required]
public byte TypeDataID { get; set; }
} |
Mon problème est sur "public Object Value { get; set; }". En effet "Value" peut être un boolean, un string, un INT etc ... c'est pourquoi je l'ai déclaré comme OBJECT.
Quand je crée mon Formulaire RAZOR, j'arrive très facilement à créer une "checkbox" si ma "Value" est un Boolean, ou une "TextBox" si ma "Value" est un string etc..
Le problème c'est pour récupérer les données sous le même type.
Exemple:
Code:
1 2 3 4 5
|
case "smallint":
@Html.TextBoxFor(model => model.Metadatas[i].Value, new { @type = "number", @class = "control-label slide-interval", @min = "1" })
break; |
Dans le cas ou mon champ Value à pour typeSQl "smallint" je crée une textBox de type number. Mais quand je soumet mon formulaire je reçois un chiffre typé en String et non pas en Int32 !?! PK ?
Avez vous une solution pour cette exemple et pour réaliser la même problématique avec une checkBox (Injecter et récupérer un boolean à partir du champ Value typé en objet )
Merci à tous ;)