If you don't like having meaningless URL's for your visitors (i.e index.aspx?id=3&pid=3932), consider URL Re-writing. With URL rewriting, you can store all your content in the database while having user-friendly URL's. Here's a code snippet to do just this:
void Application_BeginRequest(Object sender, EventArgs e)
{
String strCurrentPath;
String strCustomPath;
strCurrentPath = Request.Path;
strCurrentPath = strCurrentPath.ToLower();
// the URL contains this folder name
if (strCurrentPath.IndexOf( "/SomeSubFolder/" ) > -1)
{
strCustomPath = "getContent.aspx?id=" +
Path.GetFileNameWithoutExtension( strCurrentPath );
// rewrite the URL
Context.RewritePath( strCustomPath );
}
}
The getContent.aspx will take the page name as a parameter and do a lookup in the database and return the content for the page. I have left the details out because the point of the code snippet is to show how to rewrite the URL and get the data from the database.
Reference:
Rewrite Path method
Related Links:
Rewrite.NET -- A URL Rewriting Engine for .NET