2010-09-24 5 views
1

Nous développons un site initialement sans javascript pour un support maximum avec l'intention de superposer la fonctionnalité de js au-dessus. Le problème que nous avons est celui où une seule page a 2 ou plusieurs fonctionnalités (à titre d'exemple un écran pour capturer les détails personnels qui inclut une recherche de code postal pour l'adresse). Avec aucune possibilité de modifier la publication sur la soumission de formulaire complète ou une publication pour rechercher un code postal, nous nous retrouvons avec une seule action de contrôleur qui fait les deux. Cela ne va pas très bien car nous nous retrouvons avec une action index faisant plus d'une chose. Étant donné un client activé par js, ceci serait séparé en actions séparées. Je me demandais si quelqu'un d'autre a fait face à ce problème de production d'un site ASP.MVC sans javascript et quel schéma vous avez utilisé pour vaincre Controller Action ballonnement comme nous l'appelons?ASP.NET MVC sans javascript

+0

nous avons eu une situation similaire récemment et après une réunion avec les parties prenantes exhuastive nous avons conclu que trop d'effort était va être nécessaire d'exclure javascript. Lorsque les coûts et les solutions de contournement ont été explorés, il était simplement «plus facile» de faire de l'inclusion de js une condition préalable à l'utilisation de l'application. nous avons simplement inclus les balises

+0

Jim - Je pense que nous arrivons à la même conclusion. Je vois ce pan de la même manière que la conformité complète W3C Accessibility. Tout le monde le veut jusqu'à ce que vous décomposiez les coûts! –

+1

Daz - malheureusement, vous découvrirez bientôt la limite entre idéal et idéaliste. Personnellement, je déteste que «nous» devons enfermer des choses, mais à un niveau personnel, je trouve qu'il est libérateur que «un» peut mettre en œuvre un compromis convenu qui ne fait que s'accélérer (nous avons maintenant dit 'jquery' astuces '). Depuis que les parties prenantes se sont ralliées à nous, nous avons progressé à un rythme soutenu - d'autant plus que nous avons un «département» qui s'occupe exclusivement des «additifs». Bottome Line - c'est le «flux». votre propre kilométrage peut varier, mais je pense que le pragmatisme est la clé de ce (non) débat. –

Répondre

2

Quelques options.

  1. Utilisez un formulaire séparé pour la recherche de code postal, puis affichez la même vue que vous avez déjà eu/avec des informations différentes. Cela ne peut pas être imbriquées
  2. identifier le bouton utilisé pour afficher la forme/similaire à cette réponse: How can I change the action a form submits to based on what button is clicked in ASP.NET MVC?
+1

1) Si j'ai un formulaire séparé et supposons que la recherche de code postal est sur la seconde. Ensuite, toutes les données actuellement entrées sur le premier formulaire seront perdues lors de la publication de la seconde. 2) C'est ce que nous faisons déjà, il semble juste que nous ayons à gérer différentes préoccupations dans la même action du contrôleur. Nous avons actuellement une instruction if pour déterminer le bouton cliqué et déclencher l'action appropriée qui sera utilisée lorsque nous implémentons le javascript. Cela ne semble pas très élégant. Peut-être que c'est juste le prix que nous payons côté serveur pour un client gratuit js? –

+0

re 1, oui. Il faudrait que ce soit clairement présenté à l'étape 1 du processus ou quelque chose comme ça. re 2 si vous postez avec le même formulaire et aucun js n'est impliqué pour le changer vous décidez de poster à la même action, alors c'est le prix à payer. Précédemment dit, vous pourriez avoir une convention et la généraliser avec un gestionnaire d'itinéraire personnalisé, qui change la méthode d'action à appeler. Si c'est juste cette fois-ci, je ne voudrais pas déranger, mais si cela arrive tout autour je vais certainement y aller. – eglasius

0

J'ai fait cet exemple spécifique (recherche de code postal) quelques fois récemment et j'ai pris la décision que les utilisateurs sans Javascript n'obtiendraient pas cette fonctionnalité. Ils obtiendraient le formulaire d'adresse complète, que je cacherais et remplacerais par le code postal et le lien de recherche via Javascript.

Pas une réponse à votre question générale, mais peut-être quelque chose à penser.

+0

Dans notre cas, l'utilisateur obtient également l'adresse complète qui fait partie du même formulaire HTML que ses données personnelles afin qu'elles soient toutes deux renvoyées comme une seule fois lorsque le formulaire est rempli. Le formulaire comporte alors deux boutons, un pour la soumission complète et un pour la recherche de code postal. Notre problème est qu'en l'absence de javascript, nous (à notre connaissance) ne pouvons pas contrôler l'action du contrôleur qui est exécutée, donc notre action Index doit faire plus d'une chose. J'espère que cela a du sens. –

+0

Je comprends votre problème, je vous suggère de supprimer le bouton de recherche de code postal et de l'ajouter uniquement via Javascript. – roryf

Questions connexes