Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

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

Posted on 2013-01-25
6
Medium Priority
?
364 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:Srinivas Mantha
  • 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:Srinivas Mantha
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
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 

Author Comment

by:Srinivas Mantha
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 1000 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:Srinivas Mantha
ID: 38823579
Thank you for the accurate solution
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

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

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 …
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
Integration Management Part 2
In response to a need for security and privacy, and to continue fostering an environment members can turn to for support, solutions, and education, Experts Exchange has created anonymous question capabilities. This new feature is available to our Pr…

916 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