tags:

views:

50

answers:

5

We're developing an application in ASP.NET. As an example, for discussion purposes, let's say we have a menu on the left, and one menu item says Departments. We click that. It displays a list of departments in an iframe, to the right of the menu. The url up top does not change. Then we click on one of the departments, and detail information about that department is displayed in another iframe down below the list.

The end result is that from the user's point of view, navigation is occurring, but the URL isn't changing. Is this a problem? Could there be implications that we don't realize?

+3  A: 

Yes, you are breaking the use of the back and forward buttons, mainly.

Also, depending on how your html / js is, search engines and older / embedded / text browsers might have problems viewing your iframes.

MartinodF
+1 nice point... I dint think about this ;-)
Shoban
+4  A: 

Why shouldn't you use frames?

  • Breaking of forward and backward buttons.
  • Loss of layout when someone comes in directly via a search engine
  • Not search engine friendly
  • More complicated to link for navigation
  • Not supported by text browsers
  • Can complicate analytics
altCognito
A: 

Agree with others that the use of frames (and/or AJAX in some cases) can break the use of the browser back/forward buttons.

But, it also depends on the type of application you are creating. Yahoo mail for instance handles all navigation using AJAX and the URL never changes and the back/forward buttons would take you away from the mail client.

I'd recommend you take a look at using Master pages in ASP.Net. You can still have your single navigation area with content loaded from different pages, but it works with the back/forward buttons properly.

Geoff
A: 

Try adding a parameter to your URL by changing location.href to make the back button work

dasha salo
A: 

Using frames will also cause issues if your users are trying to bookmark pages.

scunliffe