Most of my pages have controls that are made visible on demand or datagrids that need viewstate enabled, etc. As long as the page has only standard controls do the most basic tasks, I have not had any troubles with it. It is when I have controls that are made visible at runtime or datagrids whose properties are altered at runtime that the smartnavigation causes errors. If you just have textboxes, lables, etc. then it is nice.
On pages where I have manipulated the controls either the page postbacks without them being visible anymore or the page freezes (this was the most common). In some cases the information in the controls that had been made visible was set back to blank rather than maintaining state through postbacks.
If I want a page to show up in a specific place I use a class I created to set focus where I could like it to be after postback. The code for the class is:
Public Class SetFocus
Public Sub SetFocus(ByVal controlToFocus As Control, ByVal callingPage As Page)
Dim scriptFunction As String
Dim scriptClientId As String
scriptClientId = controlToFocus.ClientID
scriptFunction = "<script language='javascript'>"
scriptFunction += "document.getElementById('" & scriptClientId & "').focus();"
scriptFunction += "</script>"
callingPage.RegisterStartupScript("focus", scriptFunction.ToString())
End Sub
End Class
I hope that clarifies things a bit more. I would add links here to other examples of bugs in smartnavigation that people have encountered but didn't keep them after I stopped using the feature altogether.
Eva