Gestire gli HttpHandlers non è una cosa semplicissima. Si tratta di interfacciarsi con proprietà e metodi molto complessi.
Sicuramente devi realizzare una pagina ASP che risponde sia intercettando l'ID nel QueryString che anche come URL della pagina.

Poi, a gestire le richieste Http ci penseranno le classi .Net.

I passi da seguire:
1) modificare il file web.config per gestire le richieste Http e farle indirizzare ad una classe specifica della tua applicazione
2) sviluppare la classe che gestirà queste richieste

1) Aggiungi al file web.config gli URL che intendi "intercettare":

codice:
<compilation>
  <buildProviders>
    <add extension=".asp" type="System.Web.Compilation.PageBuildProvider"/>        
  </buildProviders>      
</compilation>

<!-- 
Qui invece vengono intercettati tutti gli URL indicati di seguito.
In questo caso, ad es., l'url http://www.html.it/Articoli/zofm.aspx viene intercettato e rimandato alla classe devHttpHandler
-->
<httpHandlers>
  <add verb="*" path="/Articoli/*.aspx" type="devHttpHandler.HandleIt" />
  <add verb="*" path="/Articoli/*.aspx" type="devHttpHandler.HandleIt" />
</httpHandlers>
(attenzione, gestisci il tutto con estensione aspX altrimenti perdi le funzionalità dell'handler)

2) Sviluppa una semplice classe come questa ed inseriscila nella cartella App_Code (in modo che il framework si occupi automaticamente della compilazione):

codice:
using System;
using System.Web;
using System.Web.UI;
using System.Globalization;

namespace devHttpHandler
{
    public class HandleIt : IHttpHandlerFactory
    {
        public IHttpHandler GetHandler(HttpContext context, string requestType, string url, string pathTranslated)
        {
            // ritorno l'IHttpHanlder
            // I parametri da passare sono:
            // virtualPath (il path della richiesta),
            // inputFile (il percorso fisico del file da richiamare), 
            // context (ritorno quello ricevuto al momento della richiesta)
            return PageParser.GetCompiledPageInstance("/pagina.asp", context.Server.MapPath("/pagina.asp"), context);
        }

        public void ReleaseHandler(IHttpHandler handler)
        {
        
        }
    }
}
Per maggiori info (non è per far pubblicità!): http://blog.devexperience.net/it/10/...dler_Http.aspx

Fammi sapere