Solved

ASP.NET C# code for Page direction dynamically  based on database value

Posted on 2013-01-25
6
350 Views
Last Modified: 2013-01-26
I am designing a web application on ASP.NET  with C# code.
I wish to redirect to respective homepages based on userids. The userlogin table has a field “pagedirection” to indicate the page for redirection. For example,
for “visitor” userid the pagedirection value is
"../visitor/visitorhomepage.aspx"
In the usual non-dynamic mode one uses the following code
Response.Redirect("../visitor/visitorhomepage.aspx");

The following code to redirect dynamically is not working.
Response.Redirect(dbreader["pagedirection"].ToString());

 Can anyone modify the code to get the results that I desire.
0
Comment
Question by:smanthanims
  • 3
  • 3
6 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 38820422
I would first see if the correct value is returned for pagedirection.
Add this and set a breakpoint and see:

string url  = dbreader["pagedirection"].ToString();
Response.Redirect(url); //set a breakpoint and see what is the url that you are getting?

most likely you will need to have your url in ~/ format.
0
 

Author Comment

by:smanthanims
ID: 38821309
The url is returning the expected value at breakpoint i.e.
"../visitor/visitorhomepage.aspx"
However at the end the following error message is displayed:

Server Error in '/websitesmnew' Application.
HTTP Error 400 - Bad Request.
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 38821321
And what do you see in the address bar for url when the error is thrown?
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:smanthanims
ID: 38821694
I am seeing the following in the address bar
http://localhost:49212/websitesmnew/smnew/%22../visitor/visitorhomepage.aspx%22

when I commented the dyanamic mode and activated nondynamic mode, it is directed to the correct desired page in which address bar is displaying

http://localhost:49212/websitesmnew/visitor/visitorhomepage.aspx
0
 
LVL 41

Accepted Solution

by:
guru_sami earned 250 total points
ID: 38822826
ok so you need to remove the " (double quotes) and .. from your url and add a ~ before doing a Redirect.

I would suggest you to store url without " and .. in your db e.g.
 /visitor/visitorhomepage.aspx

string url  = dbreader["pagedirection"].ToString();
Response.Redirect("~/" + url.TrimStart('/'));
0
 

Author Closing Comment

by:smanthanims
ID: 38823579
Thank you for the accurate solution
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question