2010-09-11 9 views
0

Je crée un site web dynamique dans asp.net basé sur l'extraction de contenu à partir de la base de données MSSQL. Ce que je veux faire est: everycontent a son propre lien/URL basé sur contentId-Title. Comment puis-je faire ceci?Comment appliquer une URL personnalisée sans utiliser l'URL de réécriture?

Exemple: Tableau a: ID: 1 Titre: monTitre Description: Description Extension: .html Url:

Maintenant, je dois montrer les résultats dans un DataGrid avec le titre comme lien:

Titre: mytitle => maintenant, chaque fois que quelqu'un clique dessus remédiera sous la forme de: « /1-mytitle.html »

Ainsi, la formule pour créer url est: ID-Titre étendue ion par exemple génèrera ci-dessus:

<a href="/1-mytitle.html">MyTitle</a> 
+2

Que voulez-vous dire "sans utiliser l'url-rewriting". Vous demandez spécifiquement l'url-réécriture. Cette question est ridicule. –

+0

@Noon - D'abord merci pour vos mots. Comme il s'agit d'un forum ouvert et il y a beaucoup de membres novices qui veulent apprendre/savoir mieux, donc, si vous êtes excellent sur le terrain, veuillez ne pas utiliser ce genre de mots "ridicule". De toute façon, je ne veux pas appliquer url-réécriture je veux dire faire mes URLs dynamiques je veux juste utiliser le lien qui a été fourni dans le tableau. –

Répondre

1

Ces tâches peuvent être mises en œuvre en créant une coutume HttpHandler. Pour plus de détails, s'il vous plaît se référer à la MSDN:

Serving Dynamic Content with HTTP Handlers

+0

Merci beaucoup pour votre assistant. Mais, il y a peu de différence selon l'exigence. Il n'y a que la façon dont nous pouvons gérer différentes extensions. Mais dans notre cas, il y a aussi une URL personnalisée. Nous devons également accéder à ces informations sur les pages virtuelles qui n'existent pas physiquement. Les mots de votre part seront les plus appréciés. –

+0

Vous pouvez vérifier une URL demandée en implémentant une nouvelle IHttpHandlerFactory. Cette information peut être obtenue en utilisant l'objet context.Request. En outre, cette approche implique que vous avez plusieurs pages modèles dont la version compilée est renvoyée dans la méthode GetHandler. Enfin, vous pouvez enregistrer l'identificateur de la page dans le contexte. Relever l'objet et le récupérer dans l'événement Load de la page. Vous trouverez un exemple sur la façon dont cela peut être fait dans le même article MSDN. –

0

Découvrez le routage, la partie d'ASP.NET 3.5 SP 1 ou version ultérieure. Il devrait être capable de faire ce dont vous avez besoin. Si vous êtes en quelque sorte bloqué sur la version 2.0, vous pouvez truquer les parties entrantes du routage en utilisant des fabriques personnalisées de gestionnaires http, mais je ne peux pas penser à un cas où la mise à niveau vers 3.5 ne serait pas plus rentable.

+0

C'est ce que je me demandais. Pourriez-vous fournir un article/lien de référence pour le même? –

Questions connexes