Si vous faites référence à La Liaison De Modèle, il ne nécessite pas d'aides, mais la convention de nommage. Les aides il suffit de faire simple et concis pour créer le balisage HTML.
Vous pouvez créer HTML entrées et il suffit de régler le name attribut correctement. La convention d'appellation par défaut est quelques points en fonction, en omettant le niveau parent nom de l'entité, mais de qualification à partir de là.
Considérer ce contrôleur:
publicclassMyControllerController:Controller{publicActionResultSubmit(){returnView(newMyViewModel());}[HttpPost]publicActionResultSubmit(MyViewModel model){//model should be not null, with properties properly initialized from form valuesreturnView(model);}}
Si vous souhaitez afficher les valeurs envoyées (dans la deuxième Submit surcharge), votre code HTML devra être modifiée de rendre les propriétés du modèle. Vous devez placer ce en vue, dans ce cas, à l'aide de la syntaxe Razor et appelé Submit.cshtml:
Si, cela peut être fait sans aides, mais vous voulez les utiliser autant que possible.
Joliment mis Mike! Eh bien, mon idée était d'attribuer/bind propriétés du modèle d'une modèle de classe/objet html-élément avec l'objectif réel de l'exécution de côté serveur de base du modèle de validation. Donc, avoir le bon texte dans le nom de l'attribut html est tout ce qu'elle exige de faire le lien entre le code html de l'élément et le modèle de la propriété ? Merci. Merci! Afin d'obtenir le classeur pour remplir la valeur, oui, tout ce que vous avez besoin est la name attribut correspondent à la propriété dans la classe. Les classeurs de modèle permettra également de faire de la validation, trop. Par exemple, les Annotations de Données sont pris en charge hors de la boîte (et vous pouvez étendre ces avec votre propre validateurs, côté client, de trop), donc si vous commencez la décoration de vos propriétés avec ces attributs, il va vérifier pour vous, trop. Je suis sûr que vous savez que votre propre projet, mais rien de tout cela devrait vous empêcher de l'aide les aides (juste vous encourager à les utiliser, puisqu'ils ont coupé vers le bas sur les erreurs et le travail manuel). Point de pris. Eh bien moi aussi, je préfère utiliser les helpers, je suis peut-être vu que c'est mal, mais ce qui me fait prendre un chemin différent, c'est que: l'utilisation de certains jQuery contrôles. Par exemple, certains jQuery données du contrôle de cession, de la validation des données et la lecture explicite des routines. Dans ces situations peut-on les utiliser par défaut les aides? Merci encore Mike! Ah, je vois. Ouais, je suppose que cela dépend de l'jQuery contrôle. Merci encore Mike! Une grande aide! 🙂
et puis à l'intérieur de votre contrôleur de l'action tout simplement un argument du même nom:
publicActionResultProcess(string foo){//The foo argument will contain the value entered in the //corresponding input field}
Une chose très importante à noter est que lorsque vous passez des objets JSON via JQuery, la variable est également le nom doit être le même que le paramètre de méthode. Eh bien, en fait ce n'est pas tout à fait vrai. Si vous utilisez un modèle de vue (ce qui devrait toujours être fait de toute façon) et spécifiez pas de la racine de la propriété dans votre objet JSON comme {"foo":"bar","baz":"bazinga"} vous pourriez le nom de votre variable cependant que vous aimez et le modèle de classeur sera heureux de lier les propriétés de la vue modèle: public ActionResult(MyViewModel nobodyCaresHowThisVariableIsName) { ... } Voir cette question de la mienne: stackoverflow.com/questions/13953296/... ce problème de la vôtre est le fait que vous avez une propriété à votre avis, qui a le même nom que l'argument d'action. Et cela a été comme ça depuis ASP.NET MVC 1. Il n'a rien à voir avec JSON. Ce code sera également en rupture avec un standard HTML soumettre le formulaire.
Si vous faites référence à La Liaison De Modèle, il ne nécessite pas d'aides, mais la convention de nommage. Les aides il suffit de faire simple et concis pour créer le balisage HTML.
Vous pouvez créer HTML entrées et il suffit de régler le
name
attribut correctement. La convention d'appellation par défaut est quelques points en fonction, en omettant le niveau parent nom de l'entité, mais de qualification à partir de là.Considérer ce contrôleur:
Et ce modèle:
Vous pouvez créer le formulaire ci-dessous uniquement en HTML:
Si vous souhaitez afficher les valeurs envoyées (dans la deuxième
Submit
surcharge), votre code HTML devra être modifiée de rendre les propriétés du modèle. Vous devez placer ce en vue, dans ce cas, à l'aide de la syntaxe Razor et appeléSubmit.cshtml
:Si, cela peut être fait sans aides, mais vous voulez les utiliser autant que possible.
Merci! Afin d'obtenir le classeur pour remplir la valeur, oui, tout ce que vous avez besoin est la
name
attribut correspondent à la propriété dans la classe. Les classeurs de modèle permettra également de faire de la validation, trop. Par exemple, les Annotations de Données sont pris en charge hors de la boîte (et vous pouvez étendre ces avec votre propre validateurs, côté client, de trop), donc si vous commencez la décoration de vos propriétés avec ces attributs, il va vérifier pour vous, trop. Je suis sûr que vous savez que votre propre projet, mais rien de tout cela devrait vous empêcher de l'aide les aides (juste vous encourager à les utiliser, puisqu'ils ont coupé vers le bas sur les erreurs et le travail manuel).Point de pris. Eh bien moi aussi, je préfère utiliser les helpers, je suis peut-être vu que c'est mal, mais ce qui me fait prendre un chemin différent, c'est que: l'utilisation de certains jQuery contrôles. Par exemple, certains jQuery données du contrôle de cession, de la validation des données et la lecture explicite des routines. Dans ces situations peut-on les utiliser par défaut les aides? Merci encore Mike!
Ah, je vois. Ouais, je suppose que cela dépend de l'jQuery contrôle.
Merci encore Mike! Une grande aide! 🙂
OriginalL'auteur HackedByChinese
Juste lui donner un nom:
et puis à l'intérieur de votre contrôleur de l'action tout simplement un argument du même nom:
Eh bien, en fait ce n'est pas tout à fait vrai. Si vous utilisez un modèle de vue (ce qui devrait toujours être fait de toute façon) et spécifiez pas de la racine de la propriété dans votre objet JSON comme
{"foo":"bar","baz":"bazinga"}
vous pourriez le nom de votre variable cependant que vous aimez et le modèle de classeur sera heureux de lier les propriétés de la vue modèle:public ActionResult(MyViewModel nobodyCaresHowThisVariableIsName) { ... }
Voir cette question de la mienne: stackoverflow.com/questions/13953296/...
ce problème de la vôtre est le fait que vous avez une propriété à votre avis, qui a le même nom que l'argument d'action. Et cela a été comme ça depuis ASP.NET MVC 1. Il n'a rien à voir avec JSON. Ce code sera également en rupture avec un standard HTML soumettre le formulaire.
OriginalL'auteur Darin Dimitrov