我设计了一个登录页面,一旦用户输入电子邮件ID,用户将获得otp。在这种情况下,我想停止用户使用url直接导航到下一页。例如,如果用户键入localhost/adminpanel.aspx
,则我的otp页面从该页面命名为otp.aspx,而无需输入otp,则该页面要导航回索引页面。为此,我使用了会话。但是,如果我也给了otp,则会话值没有通过,页面正在导航到索引页面。任何帮助,谢谢。
OTP页面代码:
protected void Page_Load(object sender, EventArgs e)
{
lblOTP.Text = Session["otp"].ToString();
string alphabets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
string small_alphabets = "abcdefghijklmnopqrstuvwxyz";
string numbers = "1234567890";
Int32 digit = 8;
string j = Convert.ToString(digit);
string characters = numbers;
characters += alphabets + small_alphabets + numbers;
int length = int.Parse(j);
string otp = string.Empty;
for (int i = 0; i < length; i++)
{
string character = string.Empty;
do
{
int index = new Random().Next(0, characters.Length);
character = characters.ToCharArray()[index].ToString();
} while (otp.IndexOf(character) != -1);
otp += character;
}
vercod.Text = otp;
}
protected void btnOTP_Click(object sender, EventArgs e)
{
string vcode = vercod.Text;
if (lblOTP.Text == txtOTP.Text)
{
Session["otpp"] = vcode;
Response.Redirect("adminpanel.aspx");
}
}
Adminpanel.aspx代码:
protected void Page_Load(object sender, EventArgs e)
{
if (Session["otpp"] == null)
{
Response.Redirect("index.aspx", false);
}
if (!this.IsPostBack)
{
if (!IsPostBack)
{
this.PopulateDropdown();
}
}
}