i avoir:asp.net mvc avec des paramètres facultatifs et des vues partielles
AlbumsController PhotoRepository Index.aspx (voir)
intérieur de Index.aspx, i un AlbumControl d'appel vue partielle. Je veux mettre à jour ceci via ajax et ajaxhelper.
la question est que je veux la capacité de faire ce qui suit:
http://www.mysite.com/Albums
http://www.mysite.com/Albums?FilterTag=Birthdays
quand je le fais, je reçois l'erreur suivante:
La demande actuelle d'une action 'Index' sur le type de contrôleur 'AlbumsController' est ambigu entre les méthodes d'action suivantes:
System.Web.Mvc.ActionResult Index (System.String) sur le type Controllers.AlbumsController System.Web.Mvc.ActionResult Index() sur le type Controllers.AlbumsController
i aurait pu penser que asp.net mvc Je l'aurais trouvé où si je passe dans un paramètre dans la chaîne de requête, il irait à la méthode Index (chaîne Tag) et si je ne passais pas dans un paramètre, il irait à Index().
suggestions?
À peu près ce que je vais taper. Personnellement cependant, je tirerais plus pour le côté de l'attribut soit de définir la valeur par défaut si ce n'est pas là ou de rediriger sur erreur. Il est simplement plus facile d'éviter de répéter le code au cas où il s'agit d'un paramètre qui revient souvent. –
Programmin Tool - quelle serait l'approche de l'attribut ici? – leora
Voyant que ce n'est pas quelque chose construit dans la route (IE a le? Et tag dans l'url), vérifiez probablement le filterContext.ActionParameters pour voir s'il existe. Si ce n'est pas le cas, ajoutez-le.Si c'est le cas, mais est null, définissez un paramètre par défaut. C'est seulement si vous ne voulez pas vérifier null dans la méthode réelle si. Si cela ne vous dérange pas, il est probablement plus rapide de faire l'exemple de vérification de chaîne nulle. J'utilise des attributs sur des choses qui, je le sais, seront utilisées dans de nombreux endroits, comme la définition de pageNumber à 0 si elle n'existe pas. –