Hello,
I am developing a Forget Password Page. My logic is that when user enters his registered email address, an email will be sent to his registered email address. The problem i am getting is that whenever i refresh forget password Webpage after entering a email address, an email is sent to the user. It should be sent on Buttonclick event instead of page refresh. My aspx page and aspx.cs are as follows:-
<%@ Page Title="Forget Password" Language="C#" MasterPageFile="~/include/master/admin.master"
AutoEventWireup="true" CodeFile="forget_password.aspx.cs" Inherits="Admin_forget_password" %>
<pre lang="HTML">
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div class="admin_login_box clearfix">
<div class="login_area">
<h2>
Forget Password</h2>
<asp:TextBox ID="txtEmail" CssClass="login_field" runat="server"></asp:TextBox>
<div class="container mg1">
<div class="flrght" style="padding-right: 204px">
<asp:Button ID="btnSignIn" CssClass="sign_btn" runat="server" Text="Send"
onclick="btnSignIn_Click" />
<span>
<asp:Button ID="btnCancel" CssClass="sign_btn" runat="server" Text="Back"
onclick="btnCancel_Click" /></span>
</div>
<div>
<asp:Label ID="lblMessage" runat="server" Text="Label" ForeColor="Red"></asp:Label></div>
</div>
</div>
</div>
</asp:Content>
ASPX.CS
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using CloudPOS;
public partial class Admin_forget_password : System.Web.UI.Page
{
private string m_sPageUrl = string.Empty;
private int m_iUserId = 0;
private string m_sUserName = string.Empty;
private string m_sFirstName = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
m_sPageUrl = HttpContext.Current.Request.ServerVariables[StringConstantcl.HTTP_X_REWRITE_URL].ToString();
ViewState["backurl"] = Applicationcl.GetWebsiteUrl() + Request.QueryString["return"];
lblMessage.Visible = false;
txtEmail.Text = "";
}
}
protected void btnSignIn_Click(object sender, EventArgs e)
{
m_sPageUrl = HttpContext.Current.Request.ServerVariables[StringConstantcl.HTTP_X_REWRITE_URL].ToString();
ViewState["m_sPageUrl"] = Request.QueryString["return"];
int iCheckUserTypeId = 0;
int iUserTypeId = 0;
try
{
CommonUsercl oCommonUsercl = new CommonUsercl();
m_sPageUrl = Stringcl.GetValue(ViewState["m_sPageUrl"]);
if (m_sPageUrl.Contains("admin_login.aspx"))
{
iCheckUserTypeId = CommonUsercl.GetUserTypeId(CommonUsercl.eUserType.Client_Admin);
}
else if (m_sPageUrl.Contains("customer_login.aspx"))
{
iCheckUserTypeId = CommonUsercl.GetUserTypeId(CommonUsercl.eUserType.Client_Customer);
}
DataTable dtUserType = oCommonUsercl.GetUser(txtEmail.Text);
if (dtUserType.Rows.Count <= 0)
{
lblMessage.Text = "User email Id does not exists!";
lblMessage.Visible = true;
return;
}
iUserTypeId = Numericcl.GetIntValue(dtUserType.Rows[0]["in_user_type_id"]);
m_iUserId = Numericcl.GetIntValue(dtUserType.Rows[0]["in_user_id"]);
m_sUserName = Stringcl.GetValue(dtUserType.Rows[0]["nvc_email"]);
m_sFirstName = Stringcl.GetValue(dtUserType.Rows[0]["nvc_first_name"]);
if (iUserTypeId != iCheckUserTypeId)
{
lblMessage.Text = "User email Id does not exists!";
lblMessage.Visible = true;
return;
}
else
{
string sName = m_sFirstName;
string sEmail = txtEmail.Text;
string sNewPassword = GeneratePassword(m_sUserName);
oCommonUsercl.ChangePassword(m_iUserId, sNewPassword);
string sEmailMessage = "<html><head></head><body>Hello " + sName + ", <br /> <br /> Your password has been reset.";
sEmailMessage += "<br /><br />" + "New Password:-" + sNewPassword + "<br /><br />Regards<br />CloudPOS Team<br /></body></html>";
string sSubject = "Message from CloudPOS Team - " + sName + "/" + sEmail;
Emailcl oEmailcl = new Emailcl();
oEmailcl.SendEmail(Emailcl.enmModule.Regular, sEmail, "", "Password Recovery", sEmailMessage, true);
lblMessage.Text = "Your Password has been sent";
lblMessage.Visible = true;
txtEmail.Text = "";
}
}
catch (Exception ex)
{
Errorcl.HandleException(ex, true);
}
}
private string GeneratePassword(string sUserName)
{
string sStr = string.Empty;
sStr = sUserName.Length <= 4 ? sUserName : sUserName.Substring(0, 4);
Random oRandom = new Random();
sStr = sStr + Stringcl.GetValue(oRandom.Next(1000, 9999));
return sStr;
}
protected void btnCancel_Click(object sender, EventArgs e)
{
m_sPageUrl = HttpContext.Current.Request.ServerVariables[StringConstantcl.HTTP_X_REWRITE_URL].ToString();
ViewState["m_sPageUrl"] = Request.QueryString["return"];
ViewState["backurl"] = Applicationcl.GetWebsiteUrl() + Request.QueryString["return"];
if (m_sPageUrl.Contains("admin_login.aspx"))
{
Response.Redirect("admin_login.aspx");
}
else if (m_sPageUrl.Contains("customer_login.aspx"))
{
Response.Redirect("/customer/customer_login.aspx");
}
}
}
Please help.