Come Staticizzare gli url tramite il global.asax
global.asax
using System;
using System.Collections;
using System.ComponentModel;
using System.Web;
using System.Web.SessionState;
namespace WebApplication2
{
public class Global : System.Web.HttpApplication
{
private System.ComponentModel.IContainer components = null;
public Global()
{
InitializeComponent();
}
protected void Application_BeginRequest(Object sender, EventArgs e)
{
HttpContext myHttpContext = HttpContext.Current;
string nonStaticUrl = myHttpContext.Request.Path.ToLower();
int i = nonStaticUrl.IndexOf("prodotti");
if (i != -1)
{
int j = nonStaticUrl.IndexOf(".aspx");
string codiceprodotto = nonStaticUrl.Substring(i + 8, j - (i + 8));
myHttpContext.RewritePath("prodotti.aspx?codiceprodotto=" + codiceprodotto);
}
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
}
}
}
default.aspx
<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<body>
<form id="Form1" method="post" runat="server">
<asp:HyperLink id="HyperLink1" runat="server" NavigateUrl="prodotti1.aspx">Prodotto 1</asp:HyperLink><BR>
<asp:HyperLink id="HyperLink2" runat="server" NavigateUrl="prodotti2.aspx">Prodotto 2</asp:HyperLink><BR>
<asp:HyperLink id="HyperLink3" runat="server" NavigateUrl="prodotti3.aspx">Prodotto 3</asp:HyperLink>
</form>
</body>
</HTML>
prodotti.aspx
<%@ Page language="c#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>prodotti</title>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
string codiceprodotto = Request.QueryString["codiceprodotto"];
lbProdotto.Text = "Codice prodotto: " + codiceprodotto;
}
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<asp:Label id="lbProdotto" runat="server"></asp:Label>
</form>
</body>
</HTML>
Scarica il Codice...
Stampa la pagina