2014-09-15 2 views
0

J'ai contrôleur de produit et deux méthodes d'édition et de fileupload. que devrais-je faire dans ma config itinéraire pour faire ces deux travaux.MVC routage proble

produit/6 (pour l'édition RéfProduit 6)

produit/fileupload (pour le téléchargement de fichier).

mon itinéraire actuel en routeconfig est la suivante: -

 routes.MapRoute(
     name: "editProducts", 
     url: "Product/{id}", 
     defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional } 
    ); 

Répondre

0

Essayez suivante:

routes.MapRoute(
     name: "editProducts", 
     url: "{controller}/{action}/{id}", 
     defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional } 
    ); 
+0

ne fonctionne pas car cela est lié à ma page de connexion. – iGod

+0

utilisez-vous l'authentification par formulaire ou l'adhésion à asp.net? –

+0

Merci Hiren. la solution ci-dessus par Stephen Muecke m'a aidé. bien que je veux rendre cela plus générique. mais il a résolu mon problème pour l'instant – iGod

1

Ajoutez les lignes suivantes (dans cet ordre) avant la valeur par défaut. Je suppose que vous avez toujours besoin d'un ID à modifier si le paramètre id n'est pas en option (mais vous pouvez faire en sorte) et je ne sais pas si vous avez besoin de passer un paramètre à la méthode FileUpload

routes.MapRoute(
    name: "Upload", 
    url: "Product/FileUpload/{id}", 
    defaults: new { controller = "Product", action = "FileUpload", id = UrlParameter.Optional } 
); 

routes.MapRoute(
    name: "editProducts", 
    url: "Product/{id}", 
    defaults: new { controller = "Product", action = "Edit" } 
); 
+0

Merci. j'ai adopté la technique ci-dessus – iGod

0

Ajouter les itinéraires suivants par le même ordre avant la valeur par défaut.

routes.MapRoute(
     name: "fileupload", 
     url: "{controller}/{action}", 
     defaults: new { controller = "Product", action = "Fileupload"} 
    ); 

    routes.MapRoute(
     name: "editProducts", 
     url: "Product/{id}", 
     defaults: new { controller = "Product", action = "Edit", id=UrlParameter.Optional } 
    );