我被告知要爲管理員建立一個網站來爲用戶創建調查問卷。 註冊後,管理員/用戶將獲得唯一的用戶ID。 (我已經設置了用戶名「身份規範」爲「是」,所以它會自動遞增。)如何捕獲當前登錄的管理員用戶標識並將其顯示在另一頁上?
登錄到管理員帳戶後....他們將被引導到CreateSurvey頁那裏的標籤和文本框在點擊提交按鈕後輸入以下('SurveyID','SurveyName','CreatedBy'和'DateCreated')到數據庫中。
我需要有管理員的用戶名一套向「CreatedBy」使管理員不必輸入自己的用戶名。
我如何捕獲當前登錄的管理員用戶ID將其設置爲'CreatedBy'?
登錄頁面:
protected void btnSubmit_Click(object sender, EventArgs e)
{
Session["name"] = txtBoxName.Text;
Session["password"] = txtBoxPassword.Text;
string name = txtBoxName.Text;
string password = txtBoxPassword.Text;
string admin = "";
Boolean check = checkuser(name, password, ref admin);
if (check == true)
{
if (admin.ToLower() == "admin")
{
string url = string.Format("~/Admin/Admin.aspx?name={0}", txtBoxName.Text);
Response.Redirect(url);
}
else
{
string url = string.Format("~/User/SurveyWorks.aspx?name={0}", txtBoxName.Text);
Response.Redirect(url);
}
}
else
{
ShowAlert("Please try again!");
}
}
public Boolean checkuser(string name, string password, ref string checkAdmin)
{
Boolean check = false;
SqlConnection connection = new SqlConnection();
connection.ConnectionString =
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyFdBk_DB.mdf;Integrated Security=True;User Instance=True";
var comd = connection.CreateCommand();
try
{
connection.Open();
comd.CommandText = "SELECT UserID, Name, Role FROM Users WHERE Name = '" + name + "' and Password = '" + password + "'";
SqlDataReader dr = comd.ExecuteReader();
if (dr.Read())
{
checkAdmin = dr["Role"].ToString();
Session["UserID"] = dr["UserID"].ToString();
Session["Name"] = dr["Name"].ToString();
check = true;
}
else
{
check = false;
}
}
finally
{
connection.Close();
}
return check;
}
註冊頁面:
protected void btnSubmitRegistration_Click(object sender, EventArgs e)
{
SqlConnection connection = null;
SqlCommand command = null;
try
{
string connectionString = ConfigurationManager.ConnectionStrings["SurveyFdDBConnString"].ConnectionString;
connection = new SqlConnection(connectionString);
connection.Open();
string type = lblMsg.Text;
string sql = "Insert into Users (Name, Company, Password, Role, DateCreated) Values " + "(@Name, @Company, @Password, @Role, @DateCreated)";
command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@Name", txtBoxName.Text);
command.Parameters.AddWithValue("@Company", txtBoxCompany.Text);
command.Parameters.AddWithValue("@Role", txtBoxRole.Text);
command.Parameters.AddWithValue("@Password", txtBoxPassword.Text);
command.Parameters.AddWithValue("@DateCreated", DateTime.Now);
if (!string.IsNullOrEmpty(txtBoxName.Text))
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SurveyFdBk_DB.mdf;Integrated Security=True;User Instance=True";
conn.Open();
SqlCommand cmd = new SqlCommand("select Name from Users where Name= @Name", conn);
cmd.Parameters.AddWithValue("@Name", txtBoxName.Text);
SqlDataReader dr = cmd.ExecuteReader();
int rowCount = command.ExecuteNonQuery();
if (dr.HasRows)
{
ShowAlert("Username Taken");
}
else if (rowCount != 0)
{
Response.Write("Registration Success.<br/>");
}
conn.Close();
}
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
}
finally
{
if (connection != null)
connection.Close();
txtBoxName.Text = string.Empty;
txtBoxCompany.Text = string.Empty;
}
}
CreateSurvey頁:
protected void btnCreateSurvey_Click(object sender, EventArgs e)
{
SqlConnection connection = null;
SqlCommand command = null;
try
{
string connectionString = ConfigurationManager.ConnectionStrings["SurveyFdDBConnString"].ConnectionString;
connection = new SqlConnection(connectionString);
connection.Open();
string sql = "Insert into Survey (SurveyID, SurveyName, CreatedBy, DateCreated, Anonymous) Values " + "(@SurveyID, @SurveyName, @CreatedBy, @DateCreated, @Anonymous)";
command = new SqlCommand(sql, connection);
command.Parameters.AddWithValue("@SurveyID", txtBoxSurveyID.Text);
command.Parameters.AddWithValue("@SurveyName", txtBoxSurveyName.Text);
command.Parameters.AddWithValue("@CreatedBy", txtBoxCreatedBy.Text);
command.Parameters.AddWithValue("@DateCreated", DateTime.Now);
command.Parameters.AddWithValue("@Anonymous", txtBoxAnonymous.Text);
int rowCount = command.ExecuteNonQuery();
if (rowCount != 0)
{
Response.Write("Survey created successfully.<br/>");
Response.Redirect("~/Admin/SetSurveyQuestions.aspx");
}
}
catch (Exception ex)
{
Response.Write("Error: " + ex.Message);
}
finally
{
connection.Close();
txtBoxSurveyID.Text = string.Empty;
txtBoxSurveyName.Text = string.Empty;
txtBoxAnonymous.Text = string.Empty;
}
}
對不起,我是新手。我應該在哪裏舉行會議? – Yinghui
在您的CreateSurvey頁面中,您可以設置'txtBoxCreatedBy.Text =(string)(Session [「name」]);' – pblyt