Monday, March 26, 2012

passing values with request.redirect

I have 2 pages(aspx). I will paste the code below. I am trying pass the values through the form attributes. I dont get any error, but dont get the output too.

The code is:(first page login.aspx)
<%@dotnet.itags.org. Page Language="VB" %>
<%@dotnet.itags.org. import Namespace="System.Web" %>
<script runat="server"
sub submit(Source as object, e as eventargs)
Dim xml
xml=Server.CreateObject("Microsoft.XMLDOM")
xml.async=false
xml.load(Server.Mappath("users.xml"))

Dim user, password
user = xml.documentElement.childNodes(0).text
password = xml.documentElement.childNodes(1).text

if(user = UserName.text) then
response.redirect("welcome.aspx")
else
response.write("relogin please")
end if
end sub

sub reset(Source as object, e as eventargs)
UserName.text=""
pass.value=""
end sub

</script>
<html>
<head>
</head>
<body bgcolor="#ffffff">
<form action="Welcome.aspx" method="get" runat="server">
<p align="center">
Login Page
</p>
<p align="center">
Username:
<asp:TextBox id="UserName" runat="server"></asp:TextBox>
</p>
<p align="center">
Password: <input id="pass" type="password" name="pass" runat="server" />
</p>
<p align="center">
<input type="submit" value="Submit" runat="server" onserverclick="submit" /> <asp:Button id="Button2" onclick="reset" runat="server" Text="Reset"></asp:Button>
</p>
<p align="center">
Register
</p>
<p align="center">
</p>
<!-- Insert content here -->
</form>
</body>
</html
***************************************************************

Second Page: (welcome.aspx)
<%@dotnet.itags.org. Page Language="VB" %>
<script runat="server"
sub page_load
Response.Write("<h3><center>Welcome</h3></center>")
Response.Write(Request.QueryString("UserName"))
end sub

</script>
<html>
<head>
</head>
<body>
<form runat="server">
<!-- Insert content here -->
</form>
</body>
</html
It shows Welcome but does not show the username.On your submit sub where you redirect to the welcome page: Response.Redirect("welcome.aspx"), yea, there's nothing in the QueryString. QueryString values are appended after the url. A possible fix would be to re-write that line to say: Response.Redirect("welcome.aspx?UserName="&user)
Try adding the a querystring to your Response.Redirect call on the first page. For example:

Response.Redirect("welcome.aspx?UserName=" & user)
You know that .NET has already done what you're trying to do don't you?

Search the forum for Login Page and/or User.Identity.Name and you'll find some examples.

0 comments:

Post a Comment