Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <system.web>
- <compilation debug="true">
- <assemblies>
- …
- <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </assemblies>
- </compilation>
- …
- <httpModules>
- …
- <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
- </httpModules>
- </system.web>
- <system.webServer>
- …
- <modules>
- …
- <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </modules>
- <handlers
- …
- <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
- </handlers>
- </system.webServer>
- void Application_Start(object sender, EventArgs e)
- {
- RegisterRoutes(RouteTable.Routes);
- }
- public static void RegisterRoutes(RouteCollection routes)
- {
- routes.Add("UseridRoute", new Route
- (
- "userid/{userid}",
- new CustomRouteHandler("~/users.aspx")
- ));
- }
- using System.Web.Compilation;
- using System.Web.UI;
- using System.Web;
- using System.Web.Routing;
- public class CustomRouteHandler : IRouteHandler
- {
- public CustomRouteHandler(string virtualPath)
- {
- this.VirtualPath = virtualPath;
- }
- public string VirtualPath { get; private set; }
- public IHttpHandler GetHttpHandler(RequestContext
- requestContext)
- {
- // Add the querystring to the URL in the current context
- string queryString = "?userid=" + requestContext.RouteData.Values["userid"];
- HttpContext.Current.RewritePath(
- string.Concat(
- VirtualPath,
- queryString));
- var page = BuildManager.CreateInstanceFromVirtualPath
- (VirtualPath, typeof(Page)) as IHttpHandler;
- return page;
- }
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- string id = Page.Request.QueryString["userid"];
- switch (id)
- {
- case "1234":
- lblUserId.Text = id;
- lblUserName.Text = "Bill";
- break;
- case "1235":
- lblUserId.Text = id;
- lblUserName.Text = "Claire";
- break;
- case "1236":
- lblUserId.Text = id;
- lblUserName.Text = "David";
- break;
- default:
- lblUserId.Text = "0000";
- lblUserName.Text = "Unknown";
- break;
- }
- <system.web>
- <compilation debug="true">
- <assemblies>
- …
- <add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </assemblies>
- </compilation>
- …
- <httpModules>
- …
- <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
- </httpModules>
- </system.web>
- <system.webServer>
- …
- <modules>
- …
- <add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
- </modules>
- <handlers
- …
- <add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
- </handlers>
- </system.webServer>
- void Application_Start(object sender, EventArgs e)
- {
- RegisterRoutes(RouteTable.Routes);
- }
- public static void RegisterRoutes(RouteCollection routes)
- {
- routes.Add("UseridRoute", new Route
- (
- "userid/{userid}",
- new CustomRouteHandler("~/users.aspx")
- ));
- }
- using System.Web.Compilation;
- using System.Web.UI;
- using System.Web;
- using System.Web.Routing;
- public interface IRoutablePage
- {
- RequestContext RequestContext { set; }
- }
- public class CustomRouteHandler : IRouteHandler
- {
- public CustomRouteHandler(string virtualPath)
- {
- this.VirtualPath = virtualPath;
- }
- public string VirtualPath { get; private set; }
- public IHttpHandler GetHttpHandler(RequestContext
- requestContext)
- {
- var page = BuildManager.CreateInstanceFromVirtualPath
- (VirtualPath, typeof(Page)) as IHttpHandler;
- if (page != null)
- {
- var routablePage = page as IRoutablePage;
- if (routablePage != null) routablePage.RequestContext = requestContext;
- }
- return page;
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.Routing;
- public partial class users : System.Web.UI.Page, IRoutablePage
- {
- protected RequestContext requestContext;
- protected object RouteValue(string key)
- {
- return requestContext.RouteData.Values[key];
- }
- protected void Page_Load(object sender, EventArgs e)
- {
- string id = RouteValue("userid").ToString();
- switch (id)
- {
- case "1234":
- lblUserId.Text = id;
- lblUserName.Text = "Bill";
- break;
- case "1235":
- lblUserId.Text = id;
- lblUserName.Text = "Claire";
- break;
- case "1236":
- lblUserId.Text = id;
- lblUserName.Text = "David";
- break;
- default:
- lblUserId.Text = "0000";
- lblUserName.Text = "Unknown";
- break;
- }
- }
- #region IRoutablePage Members
- public RequestContext RequestContext
- {
- set { requestContext = value; }
- }
- #endregion
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- using System.Web.Mvc;
- using System.Web.Mvc.Ajax;
- namespace MvcApplication1.Controllers
- {
- public class UsersController : Controller
- {
- public ActionResult Index()
- {
- return View(Models.UserDB.GetUsers());
- }
- public ActionResult userid(int id)
- {
- return View(Models.UserDB.GetUser(id));
- }
- }
- }
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs" Inherits="MvcApplication1.Views.Index" %>
- <%@ Import Namespace="MvcApplication1.Controllers" %>
- <%@ Import Namespace="MvcApplication1.Models" %>
- <!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>
- <div>
- <h2>Index of Users</h2>
- <ul>
- <% foreach (User user in (IEnumerable)ViewData.Model) { %>
- <li>
- <%= Html.ActionLink(user.name, "userid", new {id = user.id })%>
- </li>
- <% } %>
- </ul>
- </div>
- </body>
- </html>
- <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="userid.aspx.cs" Inherits="MvcApplication1.Views.Users.userid" %>
- <%@ Import Namespace="MvcApplication1.Controllers" %>
- <%@ Import Namespace="MvcApplication1.Models" %>
- <!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>
- <div>
- <table border ="1">
- <tr>
- <td>
- ID
- </td>
- <td>
- <%=((User)ViewData.Model).id %>
- </td>
- </tr>
- <tr>
- <td>
- Name
- </td>
- <td>
- <%=((User)ViewData.Model).name %>
- </td>
- </tr>
- </table>
- </div>
- </body>
- </html>
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Web;
- namespace MvcApplication1.Models
- {
- public class UserDB
- {
- private static List<User> users = new List<User>{
- new User(){id=12345, name="Bill"},
- new User(){id=12346, name="Claire"},
- new User(){id=12347, name="David"}
- };
- public static List<User> GetUsers()
- {
- return users;
- }
- public static User GetUser(int id)
- {
- return users.First(user => user.id == id);
- }
- }
- public class User
- {
- public int id { get; set; }
- public string name { get; set; }
- }
- }
Add Comment
Please, Sign In to add comment