2013-06-13 8 views
0

J'ai conçu un itinéraire personnalisé qui ressemble à ci-dessousBesoin de concevoir une route personnalisée dans ASP.NET MVC 3?

"\ client \ {CLIENTCODE} \ {Controller} \ {Voir} \ {id}"

autre que cette voie, j'ai aussi route par défaut MVC intact. Le {CLIENTCODE} est une chaîne de 4 caractères dans l'URL, qui sera utilisée pour détecter une chaîne de connexion et effectuer une opération sur la base de données respective.

Je suis confronté à deux problèmes

  1. Toute demande Ajax prendre la route par défaut lors de l'utilisation d'AJAX URL comme 'contrôleur \ View'. Comment puis-je ajouter {CLIENTCODE} à chaque requête AJAX?

  2. Je perd {CLIENTCODE} de l'URL après l'expiration de la session et je n'arrive pas à l'obtenir dans Global.ASAX.

Répondre

1

Si vous avez besoin d'ajouter cette route à une requête ajax, vous devez définir l'adresse ajax avec votre itinéraire.

$.ajax({ 
     type: "POST", 
     url: '@Url.RouteUrl("routeName", new { code="code", controller="controller", action="action"})',    
     dataType: "html", 
     success: function (data) { 
      $("#product-attribute-values").append(data); 
     } 
    }) 

Et que voulez-vous dire «perdre lorsque la session a expiré»? Vous pouvez accéder à toutes les routes avec un code comme celui-ci dans global.asax

protected void Application_BeginRequest() 
    { 
     string code = Request.RequestContext.RouteData.Values["code"].ToString(); 
    } 
Questions connexes