2010-05-14 7 views
1

Je souhaite créer des pages dynamiques ASP.NET 4.0 chargées à partir de mon serveur MS SQL. Fondamentalement, c'est une liste de lieux avec des informations. Par exemple:Pages de base de données ASP.NET 4.0 créées

Location1 would have the page www.site.com/location/location1.aspx 
Location44 would have the page www.site.com/location/location44.aspx 

Je ne sais même pas par où commencer, la réécriture d'URL peut-être?

+0

Nee d plus de détails sur ce que vous essayez d'accomplir. –

Répondre

2

La réécriture d'URL résout un problème différent de celui que vous décrivez.

Vous pouvez utiliser un HttpHandler qui gère les requêtes au chemin location et analyser le dernier segment pour obtenir votre clé de recherche, puis passer simplement l'exécution à .aspx. Bien que vous passiez l'exécution à une page générale, l'url restera comme entré.

Je vais donner un exemple. Donner un coup de feu. here is a sample project

LocationHandler.cs

using System.IO; 
using System.Web; 

namespace DBHandler 
{ 
    public class LocationHandler : IHttpHandler 
    { 
     #region IHttpHandler Members 

     public void ProcessRequest(HttpContext context) 
     { 
      HttpRequest request = context.Request; 
      string page = Path.GetFileNameWithoutExtension(request.Url.Segments[request.Url.Segments.Length - 1]); 

      // for url ~/location/location33.aspx page will be 'location33' 

      // do something interesting with page, perhaps 
      context.Server.Execute("~/locations.aspx?locationId=" + context.Server.UrlEncode(page)); 
     } 

     public bool IsReusable 
     { 
      get { return false; } 
     } 

     #endregion 
    } 
} 

locations.aspx

<%@ Page Language="C#" %> 

<script runat="server"> 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Label1.Text = Request["locationId"]; 
    } 
</script> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    </div> 
    </form> 
</body> 
</html> 

extrait web.config

... 
<system.web> 
    ... 
    <httpHandlers> 
    <add verb="*" path="location/*.*" type="DBHandler.LocationHandler"/> 
    </httpHandlers> 
</system.web> 
... 
Questions connexes