Dynamic Url ReWriting

ShowAllData.aspx————————————-

<asp:DataList ID=”dtlstproducts” OnItemCommand=”dtlstproducts_ItemCommand” RepeatDirection=”Horizontal” runat=”server”>
<ItemTemplate>
<table border=”0″ cellpadding=”0″ cellspacing=”0″>
<tr>
<td>
<asp:LinkButton ID=”lnkbtntitle” CommandName=”ProductDetail” CommandArgument='<%#Eval(“ID”) %>’ Text='<%#Eval(“Name”)%>’ runat=”server”></asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
ShowAllData.aspx.cs———————————-

protected void Page_Load(object sender, EventArgs e)
{
if(IsPostBack==false)
{
dtlstproducts.DataSource = GetProductDataTable();
dtlstproducts.DataBind();
//Response.Redirect(“ShowAllData”);
}
}
protected void dtlstproducts_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == “ProductDetail”)
{
ImageButton imgbtnproduct = (ImageButton)e.Item.FindControl(“imgbtnproduct”);
LinkButton lnkbtntitle = (LinkButton)e.Item.FindControl(“lnkbtntitle”);
if (imgbtnproduct != null || lnkbtntitle != null)
{
Int32 a = Convert.ToInt32(e.CommandArgument);
if (Application[“id”] != null)
{
Application.Remove(“id”);
Application.Add(“id”, a);
}
else
{
Application.Add(“id”, a);
}
Response.Redirect(“ProductDetail-” + Application[“id”]);
}
}
}

public DataTable GetProductDataTable()
{
// Here we create a DataTable with four columns.
DataTable dtproduct = new DataTable();
dtproduct.Columns.Add(“ID”, typeof(int));
dtproduct.Columns.Add(“NAME”, typeof(string));
dtproduct.Columns.Add(“PRICE”, typeof(int));

// Here we add five DataRows.
dtproduct.Rows.Add(1, “Product1”, 100);
dtproduct.Rows.Add(2, “Product2”, 110);
dtproduct.Rows.Add(3, “Product3”, 120);
dtproduct.Rows.Add(4, “Product4”, 130);
dtproduct.Rows.Add(5, “Product5”, 140);
if (dtproduct != null && dtproduct.Rows.Count > 0)
{
Session.Add(“ProductDataTable”, dtproduct);
}
return dtproduct;
}
ProductDetail.aspx—————————————-

<table border=”0″ cellpadding=”0″ cellspacing=”0″>

<tr>
<td>
<asp:Label ID=”lbname” runat=”server” ></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID=”lbprice” runat=”server” ></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:LinkButton ID=”lnkBack” runat=”server” onclick=”lnkBack_Click” Text=”Back”></asp:LinkButton>
</td>
</tr>
</table>

ProductDetail.aspx.cs—————————————-

protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
if (Request.QueryString[“id”] != null && Convert.ToString(Request.QueryString[“id”]).Trim() != String.Empty)
{
BindProducts(Convert.ToInt32(Request.QueryString[“id”]));
}
}
}
private void BindProducts(Int32 ProductId)
{
DataTable dtproduct = new DataTable();
if(Session[“ProductDataTable”]!=null)
{
dtproduct = (DataTable)Session[“ProductDataTable”];
if (dtproduct !=null && dtproduct.Rows.Count > 0)
{
for (Int32 Count = 0; Count < dtproduct.Rows.Count; Count++)
{
if (Convert.ToInt32(Request.QueryString[“id”]) == Convert.ToInt32(dtproduct.Rows[Count][“ID”]))
{

lbname.Text = Convert.ToString(dtproduct.Rows[Count][“NAME”]);
lbprice.Text = Convert.ToString(dtproduct.Rows[Count][“PRICE”]);
}
}
}
}
else
{
Response.Redirect(“ShowAllData”);
}
}
protected void lnkBack_Click(object sender, EventArgs e)
{
Response.Redirect(“ShowAllData”);
}

http://localhost:50095/WebSite13/DynamicUrl/ProductDetail.aspx?id=2

to

http://localhost:50095/WebSite13/DynamicUrl/ProductDetail-2

allData

 

 

ReUrl

 

 

 

 

Static Url ReWriting

UrlRewrite.aspx——————————————————-

<div>
<a href=”books/C#”>Books</a>
<a href=”electronics/Micro-Controller”>Electronics</a>

</div>

Books.aspx——————————————————-
<div>
Books Page Selected
</div>

Electronics.aspx——————————————————-

<div>
Electronics Page Selected
</div>

http://localhost:50095/WebSite13/books/Books.aspx

to

http://localhost:50095/WebSite13/books/C#

staticAll

 

ChangeUrl

 

 

 

Global.asax

<script RunAt=”server”>

void Application_Start(object sender, EventArgs e)
{
// For Static Url
System.Web.Routing.RouteTable.Routes.MapPageRoute(“BookRoute”,
“books/{Name}”,
“~/books/Books.aspx”);
System.Web.Routing.RouteTable.Routes.MapPageRoute(“ElectronicRoute”,
“electronics/{Name}”,
“~/electronics/Electronics.aspx”);

}
void Application_BeginRequest(object sender, EventArgs e) // For Dynamic Url
{
string GetUrl = Request.Url.ToString();
if (GetUrl.Contains(“ProductDetail-” + Application[“id”]) == true)
{
Context.RewritePath(“ProductDetail.aspx?id=” + Application[“id”]);
}
else if (GetUrl.Contains(“ShowAllData”) == true)
{
Context.RewritePath(“ShowAllData.aspx”);
}
}
</script>

 

Download Code
Url Rewrite

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply