J'ai une forme très complexe et je suis en utilisant le modèle MVC contraignant pour capturer toutes les informationsAsp.net MVC - modèle de liaison bouton d'image
Je l'ai mis en place pour capturer tous les différents les soumissions qui peuvent arriver car il y a environ 10 boutons de soumission différents sur le formulaire, et il y a aussi 2 boutons d'image
J'ai essayé d'obtenir un peu d'intelligence (ou du moins je pensais) avec capturer les soumissions de bouton d'image, et j'ai créé une classe enfant afin que je puisse capturer la valeur x qui est retournée
public class ImageButtonViewData {
public int x { get; set; }
public string Value { get; set; }
}
La classe mère ressemble à ce
public class ViewDataObject {
public ImageButtonViewData ImageButton { get; set; }
public ViewDataObject(){
this.ImageButton = new ImageButton();
}
}
Le code HTML pour le bouton d'image ressemble alors
<input type="image" id="ViewDataObject_ImageButton" name="ViewDataObject.ImageButton" />
Cela fonctionne très bien dans tous les navigateurs sauf pour Chrome.
Quand je déboguer en chrome, l'objet Request.Form contient les valeurs que je voudrais attendre, mais le modèle de liaison a eu lieu, la propriété ImageButton sur la ViewDataObject a été défini sur null
La seule différence que je peux voir entre les valeurs de soumission est que Chrome passe le x en minuscule (ViewDataObject.ImageButton.x) et IE le passe en majuscule (ViewDataObject.ImageButton.X) mais je ne pensais pas que la liaison du modèle ait été prise en compte de casing sur les noms de propriété
Quelqu'un a-t-il des idées?
EDIT => Juste pour clarifier, je n'essaie pas de trouver une solution de contournement pour cela, j'essaie de comprendre pourquoi cette technique ne fonctionne pas dans Chrome, car elle fonctionne dans tous les autres navigateurs et la bonne les données sont transmis par
Désolé, je aurais dû expliqué plus loin. Je ne cherche pas une manière différente de faire ceci (je pourrais toujours vérifier les valeurs de Form explicitement au lieu de compter sur la liaison de modèle). J'essaie de comprendre pourquoi cela ne fonctionne pas dans Chrome, étant donné que la technique fonctionne correctement dans tous les autres navigateurs, et que le Chrome transmet les données correctement –