Webforms 4.0 Routing - How To Get Rid Of Physical Urls
Mar 29, 2010
How would you accomplish these in ASP.NET Webforms 4.0 Routing;.aspx pages should not be accesible directly, pages should be accesible only with routes,
Start page should be "/" or "/home" or something else, but not "Default.aspx".
I use ASP.NET routing to rename the full paths of my URLs (ie. /page1/page2/file.aspx would just become /file.aspx). This doesn't work with web.config authorization, because that uses physical path/folder names.
I keep running into problems with URLs and routing. Couldn't find an answer on SO. I would like to manage all of my urls/links in a single place. This is for my C# MVC code and the js/jquery ajax code. These urls are scattered throughout my application. Moving to a production server needs some fixes and I don't like the fact that I need to look for all of the occurrences in the application. I don't mind fixing this once - but I would like to do it only once. how to manage all of these links/urls as a group
I have a completed app running in a QA environment. Everything works fine under most circumstances.If you hit a plain URL (no identifying information in the URL), you see an intro page with a button (generated by an asp LinkButton control) that posts back and directs you to another page. The markup looks the same when it fails and when it doesn't.
When such a URL is followed from, e.g., Word and the default browser is IE, the intro page loads fine, but clicking the button causes an error. When not debugging, this behavior occurs every time. While debugging, the error occurs only ~ 1 in 10 times (closing the browser instance and starting over every time).When the error occurs, the intro page Page_Load fires and IsPostBack is false. Somehow, instead of a post, a get is being issued.
When I run fiddler to try to analyze the actual calls (can't use firebug because it never happens using Firefox), everything works every time.I don't know whether this issue has anything to do with routing, and I've no idea even what to look at next. The strange thing is, when I debug, the intro page doesn't fully load every time. Only about 1 in 3 times does it fully load even if I've just cleared browser cache. When I run it through fiddler, it fully loads and works fine every time.
I want to add optional parameters in my routing table.For example I would like the users to browse a product catalog like this:http://www.domain.com/browse/by-category/electronics/1,2,3 etc
If you cannot turn on wildcard mapping for IIS (shared hosting) or can't be bothered (lazyness) can you still use ASP.Net routing if your routes end in one of the "known" asp.net extensions...like ending all routes with .ashx, .aspx etc?
From Chris Cavenagh's blog, could his examples of:
[code]...
I'm presuming so as his last route is Default.aspx, but he hasn't included any route data with that...Is there a better way? Provided this works, it looks like the best as if the application is moved or wildcard mapping can be turned on, only the routes need to change...
I would like to make a single app to handle the requests coming from the above URLs.Most of the scenarios I have found point to having url routing based on a single domain and multiple web pages.
I'm using routing to keep my site backwards compatible for our clients, while make my project organized.
I'm also thinking of moving our encrypted query string to a more friendly url. How this works is our clients have to bookmark a huge encrypted url to prevent them from guessing our other clients by changing an id around.
But instead of having this huge url, wanted to add a route like LoginClientName.aspx for each client and have the encrypted query string hard coded or maybe in database.
But don't see a way to add a query to the MapPageRoute..
Was thinking of something like this (know it doesnt work)
I am having a little difficulty trying to wrap my head around site structures. I have quite a large asp.net site, for which: Admins can see a user list, Each user can have many accounts, and for each account can have many items. I can picture this as a breadcrumb trail of editing a particular item. User List > Mr Bob > Accounts > BOB77 > Items > Item32 > Edit
User List = All the users Mr Bob = A user the administrator has selected from the User List Accounts = A list of the user's accounts 12BOB = The administrator has selected the account named 12BOB Items = A list of the items an account contains Item32 = The item that the administrator selected Edit = The action that the administrator wants to do. I can picture how this would look like if it was using ASP.NET MVC with the URL, but I am unsure how to map this out using Webforms, and in the physical filesystem.
This is what I have thought up about how I am guessing the physical structure would look like. Will this have to use session variables to achieve what I am trying to do?
/Users/User/Edit.aspx <- for editing a user /Users/User/View.aspx <- for viewing a user /Users/User/Accounts/Default.aspx <- for viewing all accounts /Users/User/Accounts/Account/View.aspx <- for viewing an account /Users/User/Accounts/Account/Edit.aspx <- for editing an account /Users/User/Accounts/Account/Items/Default.aspx <- for viewing all items in an account /Users/User/Accounts/Account/Items/Item/Edit.aspx <- for editing an item
Where can I read more about this kind of setup in a web application? Or, can someone point me in the direction of an available project that has this kind of layout?
I have an ASP.NET web application(webforms,not MVC) developed in VS 2008 and i have implemented ASP.NET web forms URL routing by following this link [URL]
It works pretty good when i run it on the Visual studion IDE.But does not works when i created a site under my IIS (IIS 5.1 in XP) and deployed the same files there.I have set ASP.NET version as 2.0 in the Properties window of my application too.But does not work.
Simple enough I have a search feature I am wanting to impliment Routing for.Here is the routing table for it.
[Code]....
Now I want to set the postback URL for a linkbutton to go to the search page with all parameters filled in but the last one or for that matter any one of the parameters to be left blank
[Code]....
You will see in this example I left the very last one blank. Now when I do that the link does not work. If I fill in all attributes it does workso can anyone tell me how to work around this issue?
I'm going through my apps and carving out as many querystring URLs as possible by using Routing instead.For our product catalog,we have many product categories that have characters like ampersands and slashes in them which don't go over to well when used in a URL.
I'm currently using Page.GetRouteUrl in my databound objects to create URLs like "~/catalog/My Category", which gets encoded to "~/catalog/My%20Category", so I used string.replace to smooth that into "~/catalog/My_Category".
But then, as mentioned, I have categories with commas, ampersands, slashes, quotes, &c.,
My question: is there a general way to easily deal with these characters in route keys, or do I need to develop a list of URL-friendly characters to use and replace all of the ugly ones, then un-replace them when I'm passing the route data to my LINQ statements?If that's so, then I can't use <asp:RouteParameter /> in declarative markup.
I've implemented WebForms Routing (using ASP.NET 3.5 SP1) and have a routed page that uses the AJAX Control Toolkit Slider control. The handle image doesn't always display, depending on the depth of the URL. I believe it may be something to do with the image being and embedded resource accessed via webresource.axd.
For example:
www.myapp.com/tours - will display the handle image www.myapp.com/tours/london - doesn't display it.
My routing is configured as such:
[Code]....
On viewing the HTML source the actual image is rendered as:
[Code]....
Been hitting my head against a brick wall with this for days?
I am using Visual Studio 2010 and ASP.NET 4.0 to build a WebForms project that uses the new routing features in System.Web.Routing. When I build my solution and run it from within VS.NET's debugging environment only routes with RouteUrl's that include a ".aspx" extension are being properly routed to the PhysicalFile. It appears requests made to other URLs are not being "detected" by the routing engine for processing. In the case below, "Scenario1" shows a 404 and "Scenario2" works properly.
I have some REST services using plain old IHttpHandlers. I'd like to generate cleaner URLs, so that I don't have the .ashx in the path. Is there a way to use ASP.NET routing to create routes that map to ashx handlers? I've seen these types of routes previously:
// Route to an aspx page RouteTable.Routes.MapPageRoute("route-name", "some/path/{arg}", "~/Pages/SomePage.aspx"); // Route for a WCF service RouteTable.Routes.Add(new ServiceRoute("Services/SomeService", new WebServiceHostFactory(), typeof(SomeService)));
Trying to use RouteTable.Routes.MapPageRoute() generates an error (that the handler does not derive from Page). System.Web.Routing.RouteBase only seems to have 2 derived classes: ServiceRoute for services, and DynamicDataRoute for MVC. I'm not sure what MapPageRoute() does (Reflector doesn't show the method body, it just shows "Performance critical to inline this type of method across NGen image boundaries"). I see that RouteBase is not sealed, and has a relatively simple interface:
public abstract RouteData GetRouteData(HttpContextBase httpContext); public abstract VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values);
So perhaps I can make my own HttpHandlerRoute. I'll give that a shot, but if anyone knows of an existing or built-in way of mapping routes to IHttpHandlers, that would be great.
i have a function that pulls URLs from various web resources. needless to say some are full valid URLS and some are relative as per the HTML of the page. below is my asp.net/ c# logic i derived for examining the URL and then generate a full usable URL from whats pulled from the site...
NOTE: origianlurl is the full url of the first searched page, and relativeUrl is a url found within the searched page (it can be a full www.site.com or a /contactus.html) private string ResolveRelativePaths(string relativeUrl, string originatingUrl) { if (relativeUrl.StartsWith("http") || relativeUrl.StartsWith("www")) return relativeUrl; if (relativeUrl.StartsWith("/")) { //get main url something.com [code]...
ASP.NET 3.5 SP1 with Web Forms Routing thru Global.asax (System.Web.Routing and RegisterRoutes)IIS 7
Everything is working fine in my local machine, but it gives the following error in my hosting environment:
Could not load file or assembly 'System.Web.Routing, Version=3.5.0.0, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
I did everything inside my web.config file mentioned in the following link:
I have a Web application where i have added a reference to a RESTful WCF. I got the WCF url Routing to work in my webapplication by adding Inherits="RestService.Global" to the Web applications Global.asax.
But then i tried to create url Routing for the Web application and it does not work with the Inherits="RestService.Global" in the Global.asax. If i take it away it works fine. Is there a correct way to do this.
I'm trying to create my own CMS and I've gotten a little bit stuck at the stage of URL routing.
I want clean URLs without extensions and I'd like to be able to create and modify them in a web based interface without any messing around with IIS or actual files.
I've seen how to create a static route, but for that I need to go into my Global.asax file and manually add it.I would like to have all of these routes stored in a database so that I can easily modify them later.
Does anyone know how this can be achieved?
Just for extra information, I will be attempting to create a feature so that if a path exists, but is later changed, a 301 redirect is created to the new URL, is this also possible? (My first problem is the main issue, but thought I might ask this as well just in case it makes a difference)
How to handle asp.net mvc routing along with asp.net webform routing. I have merged my mvc app into my existing web application. In my web application i have implement routing as below:
routes.Add("View Product Details", new Route("Product/{City}/{Manufacturer}/{Name}/{ProductID}/{*ProductType}"));
Similarly i have implemented routing in mvc as below
Is there a way to get the physical filepath from an ASP.NET's URL?
Scenerio: I have an app that is on two severs, but it will now be on lots more, and each server puts it in a different physical file path. Right now I'm doing this:
//for server 1 if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".com")) { Application["StoreFilesPath"] = "E:\Data\rootsite\f1\appsite\Upload\"; } //for server 2 if (Request.Url.GetLeftPart(UriPartial.Path).Contains(".net")) { Application["StoreFilesPath"] = "E:\Web\rootsite2\f34\abc\ghi\appsite\Upload\"; }
But what I need to do is something like this:
//for all servers Application["StoreFilesPath"] = getPhysicalFilePath() +"\Upload\";
i am trying to insert with bulk and getting the following
Cannot bulk load because the file "D:inetpub.........insertgid.csv" could not be opened. Operating system error code 3(The system cannot find the path specified.).