2017-10-10 12 views
2

J'ai suivi toutes les étapes de ce lien, y compris les modifications web.config et l'ajout des assemblages requis.
ASP.Net and Webforms in Harmony J'ai installé MVC3 dans le projet webforms et implémenté un contrôleur et enregistré ses routes dans la méthode Application_Start de Global.asax.Intégration de MVC3 aux Webforms - Le routage MVC ne fonctionne pas

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

Voici le contrôleur

public class HomeController : Controller 
{ 
    // 
    // GET: /Default1/ 

    public ActionResult Index(int? id) 
    { 
     ViewData["Message"] = "Hello from Home controller"; 
     return View(); 
    } 

} 

Je suis en train d'appeler son action (i.e./Accueil/Index) mais obtenir erreur 404 Introuvable.

Les routes enregistrées pour d'autres formes .aspx fonctionnent correctement.

routes.Add("Home", new Route("Home", new RoutingHandler("/Default.aspx"))); 

Tout fonctionne correctement mais (Accueil/Index) ne s'affiche pas.

Répondre

1

Vous pouvez accomplir ceci en ajoutant Area dans votre projet Web par exemple MVC. Ensuite, vous devez vous enregistrer que Area dans Global classe Global.asax.cs fonction de fichier protected void Application_Start(object sender, EventArgs e) fonction comme ci-dessous

MVCAreaRegistration.RegisterAllAreas(RouteTable.Routes);

Maintenant, ajoutez un contrôleur par exemple Home et ajouter une vue dire Index. Placez un point d'arrêt sur la méthode d'action Index et exécutez votre application. Dans l'url tapez ".../MVC/Home/Index" et le point de rupture sera atteint.