|
|
|
ถามเกี่ยวกับธีม C# ครับ เกิดปัญหาจากการเปลี่ยนธีมในขณะที่ล๊อคอินอยู่ |
|
|
|
|
|
|
|
ผมมี ฟังก์ชั่นเปลี่ยนธีม จาก Dropdownlist เมื่อเลือกมาแล้วกด change จะทำการเปลี่ยนสีของ ทุก ๆ เครื่องมือ ในหน้านั้น ปัญหาคือ เมื่อผม login เข้าไปแล้ว กดเปลี่ยนธีม ทำไมมันเด้งล๊อคเอ้าออกไปเลย ทำให้ต้องล๊อคอินใหม่ พอเปลี่ยนสีอีก ก็ ออกอีก ช่วยดูหน่อยครับผู้รู้
โค๊ดครับ
Code (C#)
protected void Page_PreInit(object sender, EventArgs e)
{
if (Session["CurrentTheme"] == null)
{ //ถ้าไม่มี Session
Page.Theme = "Normal"; //กำหนด Themes ของหน้าเป็น Normal
}
else
{
Page.Theme = Session["CurrentTheme"].ToString(); //กำหนด Themes ของหน้าเป็นค่าธีมที่อ่านมาจากSession
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
DirectoryInfo di = new DirectoryInfo(Server.MapPath("App_Themes"));
//อ่านข้อมูลจากไฟลเดอร์ของApp_Themes
DdlList.DataSource = di.GetDirectories();
//นำข้อมูล(โฟลเดอร์ย่อย)จากไฟลเดอร์ของApp_Themesไปให้กับ Dropdownlist
DdlList.DataBind(); //แสดงผล Dropdownlist
}
}
protected void CmdChange_Click(object sender, EventArgs e)
{
Session["CurrentTheme"] = DdlList.SelectedValue; //กำหนดSession เป็นค่าของ Themes ที่อ่านมาจาก Dropdownlist
Server.Transfer(Request.FilePath); //โดยการส่งค่าของเพจปัจจุบันเพื่อกำหนดให้ใช้ธีมในหน้าปัจจุบัน
}
protected void BtnLogIn_Click(object sender, EventArgs e)
{
string ConnStr = "Data Source=(local);Initial Catalog=Project Train;Integrated Security=True";
SqlConnection Conn = new SqlConnection(ConnStr);//เชื่อมต่อฐานข้อมูล
string Sql = "";
if ((BtnLogIn.Text).ToLower() == (("Login").ToLower()))////lower แปลงค่าเป็นพิมพ์เล็ก***
{//เป็นล็อคอิน
if ((DdlType.SelectedItem.Text).ToLower() == (("Admin").ToLower()))
{
Sql = "Select * From Member Where UserName = " + "'" + TxtUserName.Text + "' and Password=" + "'" + TxtPWD.Text + "' and type='1'";//กำหนดคำสั่ง SQL
DataSet Ds = new DataSet();//กำหนดแหล่งเก็บข้อมูล
//หาว่าค้นพบหรือไม่
DataView DView;//เตรียมแหล่งเก็บข้อมูลแบบ dataview
SqlDataAdapter ad = new SqlDataAdapter(Sql, Conn);//ประมวลผลคำสั่ง SQL
ad.Fill(Ds, "Admin");//นำข้อมูลที่ได้ไปเก็บแหล่งเก็บข้อมูลData Set โดยมีชื่อข้อมูล Tabl
DView = Ds.Tables["Admin"].DefaultView; //นำข้อมูลData Set โดยมีชื่อข้อมูล Table1 ไปให้DataView
if (DView.Count <= 0) //'ถ้า DView.Count มีค่ามากกว่า 0 แสดงว่ามีข้อมูลรหัสนั้นๆ แล้ว
{
LMsg.Text = "ไม่สามารถล็อคอินได้";
return;
}
else
{
foreach (DataRowView DRowview in DView)
{
Session["Type"] = "1";
Session["UserName"] = TxtUserName.Text;
Session["Name"] = Convert.ToString(DRowview["CustumerFirst"]);
Session["LName"] = Convert.ToString(DRowview["CustumerLast"]);
Session["Sex"] = Convert.ToString(DRowview["CustumerSex"]);
Session["Flag"] = Convert.ToString(DRowview["Flag"]);
AddLogFile("Admin LogIn", "-", "-");
}
LMsg.Text = "ยินดีต้อนรับคุณ" + Session["Name"];
TVAdmin.Visible = true;
TVPersonal.Visible = false;
TVCustomer.Visible = false;
}
}//End of Admin
else
{
if ((DdlType.SelectedItem.Text).ToLower() == (("Personal").ToLower()))
{
Sql = "Select * From Member Where UserName = " + "'" + TxtUserName.Text + "' and Password=" + "'" + TxtPWD.Text + "' and type='2'";//กำหนดคำสั่ง SQL
DataSet Ds = new DataSet();//กำหนดแหล่งเก็บข้อมูล
//หาว่าค้นพบหรือไม่
DataView DView;//เตรียมแหล่งเก็บข้อมูลแบบ dataview
SqlDataAdapter ad = new SqlDataAdapter(Sql, Conn);//ประมวลผลคำสั่ง SQL
ad.Fill(Ds, "Personal");//นำข้อมูลที่ได้ไปเก็บแหล่งเก็บข้อมูลData Set โดยมีชื่อข้อมูล Tabl
DView = Ds.Tables["Personal"].DefaultView; //นำข้อมูลData Set โดยมีชื่อข้อมูล Table1 ไปให้DataView
if (DView.Count <= 0) //'ถ้า DView.Count มีค่ามากกว่า 0 แสดงว่ามีข้อมูลรหัสนั้นๆ แล้ว
{
LMsg.Text = "ไม่สามารถล็อคอินได้";
return;
}
else
{
foreach (DataRowView DRowview in DView)
{
Session["Type"] = "2";
Session["UserName"] = TxtUserName.Text;
Session["Name"] = Convert.ToString(DRowview["CustumerFirst"]);
Session["LName"] = Convert.ToString(DRowview["CustumerLast"]);
Session["Sex"] = Convert.ToString(DRowview["CustumerSex"]);
Session["Flag"] = Convert.ToString(DRowview["Flag"]);
AddLogFile("Personal LogIn", "-", "-");
}
LMsg.Text = "ยินดีต้อนรับคุณ" + Session["Name"];
TVAdmin.Visible = false;
TVPersonal.Visible = true;
TVCustomer.Visible = false;
}
}
else
{
Sql = "Select * From Customer Where UserName = " + "'" + TxtUserName.Text + "' and Password=" + "'" + TxtPWD.Text + "'";//กำหนดคำสั่ง SQL
DataSet Ds = new DataSet();//กำหนดแหล่งเก็บข้อมูล
//หาว่าค้นพบหรือไม่
DataView DView;//เตรียมแหล่งเก็บข้อมูลแบบ dataview
SqlDataAdapter ad = new SqlDataAdapter(Sql, Conn);//ประมวลผลคำสั่ง SQL
ad.Fill(Ds, "Customer");//นำข้อมูลที่ได้ไปเก็บแหล่งเก็บข้อมูลData Set โดยมีชื่อข้อมูล Tabl
DView = Ds.Tables["Customer"].DefaultView; //นำข้อมูลData Set โดยมีชื่อข้อมูล Table1 ไปให้DataView
if (DView.Count <= 0) //'ถ้า DView.Count มีค่ามากกว่า 0 แสดงว่ามีข้อมูลรหัสนั้นๆ แล้ว
{
LMsg.Text = "ไม่สามารถล็อคอินได้";
return;
}
else
{
foreach (DataRowView DRowview in DView)
{
Session["Type"] = "3";
Session["UserName"] = TxtUserName.Text;
Session["Id"] = Convert.ToString(DRowview["CID"]);
Session["Name"] = Convert.ToString(DRowview["CName"]);
Session["Address"] = Convert.ToString(DRowview["CAddress"]);
Session["Money"] = Convert.ToString(DRowview["CMoney"]);
Session["Flag"] = Convert.ToString(DRowview["CFlag"]);
AddLogFile("Customer LogIn", "-", "-");
}
LMsg.Text = "ยินดีต้อนรับคุณ" + Session["Name"];
TVAdmin.Visible = false;
TVPersonal.Visible = false;
TVCustomer.Visible = true;
}
}
}
BtnLogIn.Text = "LogOut";
TxtUserName.Enabled = false;//ไม่ให้แก้ไขข้อมูล
TxtPWD.Enabled = false;
}
else
{
if (Session["Type"] == "1")
{ AddLogFile("Admin LogOut", "-", "-"); }
else if (Session["Type"] == "2")
{ AddLogFile("Personal LogOut", "-", "-"); }
else // if (Session["Type"] == "3")
{ AddLogFile("Customer LogOut", "-", "-"); }
//เป็นการล็อคเอาท์
Session.Clear();
//
TxtUserName.Enabled = true;//ให้กรอกข้อข้อมูลได้
TxtPWD.Enabled = true;
LMsg.Text = "กรุณาใส่ชื่อผู้ใช้และรหัสผ่าน";
TVAdmin.Visible = false;
TVPersonal.Visible = false;
TVCustomer.Visible = false;
//
BtnLogIn.Text = "LogIn";
}
}
Tag : .NET, Web (ASP.NET), C#
|
|
|
|
|
|
Date :
2012-09-29 01:22:27 |
By :
Chunate |
View :
1218 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เงียบกันหมดเลย
|
|
|
|
|
Date :
2012-10-01 21:49:04 |
By :
Chunate |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนจาก server.transfer เป็น response.redirect ดู
|
|
|
|
|
Date :
2012-10-03 09:08:57 |
By :
ห้ามตอบเกินวันละ 2 กระทู้ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|