Ein einfaches Beispiel dafür, wie Routing zu verwenden, in ASP.NET
- Leerer Web Application
- hinzufügen erstes Formular erstellen - Default.aspx
- hinzufügen zweite Form - Second.aspx
- Fügen Sie ein drittes Formular hinzu - Third.aspx
In den Standardeinstellungen.aspx 3 Tasten -
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("Second.aspx");
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("Third.aspx?Name=Pants");
}
protected void Button3_Click(object sender, EventArgs e)
{
Response.Redirect("Third.aspx?Name=Shoes");
}
lesen Query-String auf der dritten Seite
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.QueryString["Name"]);
}
Nun, wenn Sie das Programm ausführen, können Sie auf die zweite und dritte Form navigieren. So war es einmal. Lassen Sie uns Routing hinzufügen.
Neuen Eintrag hinzufügen - Global.aspx mit System.Web.Routing;
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute(
"HomeRoute",
"Home",
"~/Default.aspx"
);
routes.MapPageRoute(
"SecondRoute",
"Second",
"~/Second.aspx"
);
routes.MapPageRoute(
"ThirdRoute",
"Third/{Name}",
"~/Third.aspx"
);
}
In default.aspx protected void Button1_Click (object sender, EventArgs e) { // Response.Redirect ("Second.aspx") modifizieren; Response.Redirect (GetRouteUrl ("SecondRoute", null)); }
protected void Button2_Click(object sender, EventArgs e)
{
//Response.Redirect("Third.aspx?Name=Pants");
Response.Redirect(GetRouteUrl("ThirdRoute", new {Name = "Pants"}));
}
protected void Button3_Click(object sender, EventArgs e)
{
// Response.Redirect("Third.aspx?Name=Shoes");
Response.Redirect(GetRouteUrl("ThirdRoute", new { Name = "Shoes" }));
}
ändern Seite zu laden in third.aspx
protected void Page_Load(object sender, EventArgs e)
{
//Response.Write(Request.QueryString["Name"]);
Response.Write(RouteData.Values["Name"]);
}
Führen Sie das Programm, Bitte beachten Sie, dass url viel sauberer aussieht - es gibt Dateierweiterungen nicht drin (Second.aspx Zweitens wird gerade)
Um mehr als ein Argument übergeben
neue Schaltfläche hinzufügen, mit dem folgenden Code default.aspx:
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect(GetRouteUrl("FourthRoute", new { Name = "Shoes" , Gender = "Male"}));
}
Fügen Sie den folgenden Code in Global.asax
routes.MapPageRoute(
"FourthRoute",
"Fourth/{Name}-{Gender}",
"~/Fourth.aspx"
);
Fourth.aspx Seite mit dem folgenden erstellen Seitenlast:
protected void Page_Load(object sender, EventArgs e)
{
Response.Write("Name is: " + RouteData.Values["Name"] + " and Gender is " + RouteData.Values["Gender"]);
}
bitte das Tag url-routing zu Ihrem Beitrag – Armstrongest