2017-09-18 2 views
0

Voilà comment je fais une page de nouvelles et maintenant je l'ai comme ceci:itinéraires à la page des nouvelles - ne me montrer la page

routes.MapRoute("News", "News/{url}/{id}", new 
     { 
      controller = "News", 
      action = "Index", 
      url = UrlParameter.Optional, 
      id = UrlParameter.Optional 
     }); 

Maintenant, je dois: www.helloworld.com/news/bonjour monde/123

i aura www.helloworld.com/hello-world/123

J'ai aussi ce ici pour le contenu commun

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

erreur avec:

Les paramètres dictionnaire contient une entrée nulle pour le paramètre 'id' de type non annulable 'System.Int32' pour la méthode « System.Web.Mvc.ActionResult Index (System.String, Int32) 'dans' HelloWorld.Controllers.NewsController '. Un paramètre facultatif doit être un type de référence, un type Nullable ou être déclaré en tant que paramètre facultatif. Nom du paramètre: Paramètres

routes.MapRoute("News", "{url}/{id}", new 
      { 
       controller = "News", 
       action = "Index", 
       url = UrlParameter.Optional, 
       id = UrlParameter.Optional 
      }); 
+0

Quel est le problème que vous rencontrez avec cette configuration? –

+0

J'ai mis à jour @ChetanRanpariya –

+0

Donc vous penserez que je peux seulement écrire {controller} avant/url/id @TechGirl –

Répondre

0

Ce n'est pas un bon moyen pour faire passer les valeurs dans une chaîne de requête. D'abord, vous devez créer un NewsContoller après l'URL de la vôtre sera www.helloworld.com/news/123~~V~~singular~~3rd et vous devez créer une méthode d'action dans votre controller-

public class NewsController : Controller 
{ 
    public ActionResult Index(int id) 
    { 
     return View(); 
    } 
} 

Vous pouvez également consulter le lien suivant pour plus informations

https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/controllers-and-routing/asp-net-mvc-routing-overview-cs

S'il vous plaît marquer réponse si vous le souhaitez.

+0

Je le sais. Mais ce n'est pas ce que mon problème est, je sais que je veux des nouvelles et j'ai juste l'url + id –

+0

Vous pouvez utiliser -www.helloworld.com/news/123 ou www.helloworld.com/news?id=123 –

+0

non je vais avoir www.helloworld.com/url/123 –