2009-08-24 2 views
0

J'ai demandé here sur la façon de supprimer les sources RouteData et QueryString de ValueProvider. Et cette question est sortie:Quel est le point pour UpdateModel de prendre des valeurs de RouteData et QueryString?

Quand le UpdateModel a-t-il besoin de valeurs de RouteData et QueryString? Pourquoi cela reste-t-il en tant que fonctionnalité par défaut? Je vois point à utiliser RouteData et QueryString à appeler les méthodes de contrôleurs corrects et fournir des paramètres pour eux, mais pas pour mettre à jour le modèle. Ou est-ce que je manque quelque chose?

Connaissez-vous des explications à ce sujet?

Merci.

Répondre

0

J'imagine que c'est pour la même raison que l'affichage de RouteValues ​​supplémentaires dans la chaîne de requête lorsque vous parcourez une route - pour donner le comportement par défaut le plus simple possible.

Il y a beaucoup de cas où les gens préfèrent utiliser des chaînes de requête pour leurs applications, donc ce comportement par défaut enlèverait une partie du travail d'essayer de reconstruire des modèles.

+0

Si vous élargissez votre point de vue, tout le monde n'utilisera pas le POST pour transmettre des données. Et si vous aviez un objet Carte que vous vouliez mettre à jour à partir d'une URL Google Maps? Il y a des raisons valables de faire passer des données non-POST, et cela facilite la mise à jour de UpdateModel() dans tous les cas plutôt que seulement pour POSTing. – womp

0

Toute requête GET. Vous utiliserez normalement la chaîne Querystring pour, par exemple, présenter un numéro de page ou des options de filtrage. Dans certains cas, ceux-ci peuvent être pertinents pour votre modèle.