2010-12-04 4 views
0

J'ai une exigence qui permet à l'utilisateur de rechercher des propriétés en utilisant des URL conviviales. J'ai créé cet itinéraireRoutage ASP.NET MVC

routes.MapRoute(
     "Search", // Route name 
      "{controller}/{action}/refno/{refno}/status/{status}/proptype/{proptype}/locality/{locality}/pricefrom/{pricefrom}/priceto/{priceto}", // URL with parameters 
     new { controller = "Property", action = "Search", refno = "0", proptype = "ANY TYPE", status = "ANY STATUS", locality = "ANY LOCALITY", pricefrom = "0", priceto = "NO LIMIT" } 

et l'action de demande = "/ Propriété/Recherche/RefNo/0/État/Converti/PropType/Espace aérien/localité/Toute localité/pricefrom/0/priceto/Pas de limite" appelle en fait l'itinéraire correctement.

Cependant, il y a quelque chose d'étrange. Lorsque le formulaire de recherche avec les résultats est affiché, les balises de script javascript sont ignorées et donc certaines listes déroulantes qui sont remplies par javascript ne sont pas remplies. J'ai l'impression que le routage que j'ai créé bloque en fait les balises de script que j'ai dans la page maître.

Quelqu'un peut-il m'aider?

Répondre

0

Votre navigateur recherche les fichiers .js relatifs à l'URL. Assurez-vous que vos balises de script référencent vos fichiers .js avec Url.Content ("~/somepath/file.js").

Si ce n'est pas le problème, assurez-vous qu'il n'y a pas d'erreur javascript sur votre page qui bloque le reste de l'exécution.

+0

En fait, le URL.content a fonctionné – MARK

0

HI, Tout d'abord merci pour la réponse. Il n'y a pas d'erreur JS à coup sûr puisque le fichier JS est appelé sur un contrôle utilisateur qui fonctionne toujours.

Je viens de lancer le site Web sur IIS Express pour tracer le site Web. Il semble que la publication correcte est en cours, mais sur le formulaire de résultats, les fichiers js sont demandés en tant que message de recherche et fichier js. Par exemple .... si je poste dans/search/properties/refno/5/propstatus/finished, un post correct est d'abord créé, puis quand le formulaire de résultats est rendu, une action GET est en train d'être effectuée pour/search/properties/refno/5/propstatus/finished/jquery/jquery0.5.2.min.js qui est incorrect.

Pour vous donner une idée de ce que je fais. C'est le contrôle de l'utilisateur. Je ne poste que l'action de formulaire. En ce moment je poste sur une route statique juste pour tester.

action = "/ Propriété/Recherche/RefNo/0/État/Converti/PropType/Espace aérien/localité/Toute localité/pricefrom/0/priceto/Aucune limite" method = "post">

Ceci est les fichiers d'en-tête de la page principale

<script type="text/javascript" src="../../Scripts/jquery/001-jquery-1.4.2.min.js"></script> 
<script type="text/javascript" src="../../Scripts/jquery/jquery.lightbox-0.5.min.js"></script> 
<script type="text/javascript" src="../../Scripts/utils/jquery.markaf.mvc.utils.debug.js"></script> 
<script type="text/javascript" src="../../Scripts/ui/ui.search.debug.js"></script> 

Et ceci est le formulaire de recherche que les messages du contrôleur à

Recherche

<% foreach (var article dans le modèle) {%> Ref No: <%: item.RefNo%>

<%: item.Description%>

Prix: <%: item.Price.ToString ("c")%>

« > Lire la suite ...

<%}%>