Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > .NET Framework > Forum > ASP.Net หาก User กรอกข้อมูลที่เป็น คอมโบ Web page กัน แล้วเผลอปิดไป จะทำยังไง ให้เวลาเราเปิดแล้วใส่รหัสเดิมไป Userจะสามารถทำต่อได้จากของเดิมที่เผลอปิดไปอ่ะครับ



 

ASP.Net หาก User กรอกข้อมูลที่เป็น คอมโบ Web page กัน แล้วเผลอปิดไป จะทำยังไง ให้เวลาเราเปิดแล้วใส่รหัสเดิมไป Userจะสามารถทำต่อได้จากของเดิมที่เผลอปิดไปอ่ะครับ

 



Topic : 099886



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์




คำถามเช่นเดียวกับหัวข้อครับ คือ หากเราทำ Web asp.net C# เรื่องแบบสอบถาม เมื่อเว็บต้องกรอกข้อมูลติดต่อกัน เพราะข้อมูลมันเชื่อมโยงกันแต่อยู่คนละหน้า เราควรทำอย่างไร หาก User เผลอปิด หน้าที่กำลังทำอยู่ แล้วเมื่อ User เปิดหน้าเว็บขึ้นมาใหม่ แล้วกรอกรหัสพนักงานที่บันทึกไว้จากหน้าที่แล้ว จะสามารถทำต่อจากที่ค้างไว้ตอนเค้ากดปิดไปอ่ะครับ (งงกับคำถามไหมครับ ) ช่วยหน่อย ผมไม่รู้จะเขียนยังไง มือใหม่จริงๆครับ



Tag : .NET, Ms SQL Server 2008, Web (ASP.NET), C#







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-01 20:06:59 By : Bill17259 View : 1017 Reply : 9
 

 

No. 1



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์


ผมพยายามแล้วครับ แต่มันไม่เห็นผล

Code (C#)
 int strNumRows;
        string strSQL;
        SqlConnection conn = new SqlConnection();
        {
            conn.ConnectionString = ConfigurationManager
                .ConnectionStrings["SPersonnelConnectionString"].ConnectionString;
            {
                SqlCommand cmd = new SqlCommand();
                {
                    cmd.Connection = conn;
                    conn.Open();
                    strSQL = "SELECT COUNT(*) FROM Personnel WHERE ID_Pers  = '" + this.txtID_Pers.Text + "' ";
                    
                    cmd = new SqlCommand(strSQL, conn);
                    //cmd.Parameters.AddWithValue("@ID_Pers", SqlDbType.NVarChar).Value = this.txtID_Pers.Text;
                    strNumRows = Convert.ToInt32(cmd.ExecuteScalar());

                    if (txtID_Pers.Text == "")
                    {
                        this.lbIDPers.Text = "กรุณากรอกรหัสพนักงาน";
                        lbIDPers.ForeColor = Color.Red;
                        return;
                    }
                   
                   if (Session["ID_Pers"] == this.txtID_Pers.Text)
                    {

                        

                        if (db.ID_Card2 == "")
                        {
                            Response.Redirect("Default2.aspx");
                        }
                        else if (db.ID_Card3 =="")
                        {
                            Response.Redirect("Default3.aspx");
                        }
                        else if (db.ID_Card5 =="")
                        {
                            Response.Redirect("Default5.aspx");
                        }
                        else if (db.ID_Card4 =="")
                        {
                            Response.Redirect("Default4.aspx");
                        }
                        else
                        {
                            Response.Redirect("Default6.aspx");
                        }
                    }

                    

                    else if (strNumRows > 0)
                    {
                        this.lbIDPers.Text = "รหัสพนักงานนี้ได้ทำการบันทึกข้อมูลไปแล้ว กรุณาตรวจสอบ";
                        lbIDPers.ForeColor = Color.Red;
                        txtName.Enabled = false;
                        txtID_Card.Enabled = false;
                        txtdatStart.Enabled = false;
                        txtID_Pers.Focus();
                    }
                    else
                    {
                        this.lbIDPers.Text = "รหัสพนักงานนี้ยังไม่ได้ทำการบันทึกข้อมุล";
                        lbIDPers.ForeColor = Color.Green;
                        txtName.Enabled = true;
                        txtID_Card.Enabled = true;
                        txtdatStart.Enabled = true;

                        txtName.BackColor = default(Color);
                        txtID_Card.BackColor = default(Color);
                        txtdatStart.BackColor = default(Color);
                        txtName.Focus();
                    }
                    cmd.ExecuteNonQuery();
                    conn.Close();
                    

                }
            }
        }
    }


เขียนมั่วไหมอ่ะครับ มันขึ้น เส้นเขียว ตรง Session["ID_Pers"] == this.txtID_Pers.Text ตรงคำว่า session อ่ะครับ

ขึ้นว่า Possible unintended reference comparison; to get a value comparison, cast the left hand side to type 'string'

Debug แล้ว แต่มัน run ข้าม session ไปเลยอ่ะครับ ผมต้องทำยังไง แนะนำหน่อยครับ พี่ๆ

ขอขอบคุณมากครับ สำหรับคำตอบและข้อเสนอแนะ ของทุกท่าน

เครดิต Code ของพี่วิน จาก กระทู้

https://www.thaicreate.com/dotnet/forum/088033.html

ขอบคุณครับ








ประวัติการแก้ไข
2013-09-02 00:00:37
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-01 23:52:36 By : Bill17259
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คงจะต้องใช้พวก Session ในการจัดเก็บพวกค่าตัวแปรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 06:14:40 By : mr.win
 

 

No. 3



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์


ผมกลับมาใช้ Stored Procedures แทนแล้วครับพี่ คืองี้

เขียนสโตก่อน (มีตั้งหมด 6 Table ก็เขียนไป 6 Table เลยนะครับเพื่อนๆ)

USE [SPersonnel]
GO
/****** Object: StoredProcedure [dbo].[sps_GetPersonDetail] Script Date: 09/02/2013 09:48:56 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER proc [dbo].[sps_GetPersonDetail]
(
@ID_Pers nvarchar(6)
)
AS
Select * from dbo.Personnel
where ID_Pers=@ID_Pers

Select * from dbo.SP_Work
where ID_Pers=@ID_Pers

Select * from dbo.SP_Sick
Where ID_Pers=@ID_Pers

Select * from dbo.Sick_even
Where ID_Pers=@ID_Pers

Select * from dbo.Family_s
Where ID_Pers=@ID_Pers

Select * from dbo.Cigarette_s
Where ID_Pers=@ID_Pers


แล้วก็มาเขียน GetData โดยใช้คำสั่ง DataSet โดยการ Create Class ขึ้นมา 1 Class

public DataSet GetData()
{
DataSet Ds = new DataSet();
SqlConnection conn = new SqlConnection();
{
conn.ConnectionString = ConfigurationManager
.ConnectionStrings["SPersonnelConnectionString"].ConnectionString;
SqlCommand cmd = new SqlCommand();
{
cmd.CommandText = TSql;
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
conn.Open();
SqlDataAdapter da = new SqlDataAdapter();
{
da.SelectCommand = cmd;
da.Fill(Ds);
}
conn.Close();
conn.Dispose();
}
}
return Ds;
}

แล้วก็มาเขียนใน .aspx.cs ปุ่ม Check นั่นเอง ว่า

DataSet ds = new DataSet();
DataTable dt1, dt2, dt3, dt4, dt5, dt6;
db.TSql = "exec sps_GetPersonDetail '" + txtID_Pers.Text+ "'";
ds = db.GetData();
dt1 = ds.Tables[0];
dt2 = ds.Tables[1];
dt3 = ds.Tables[2];
dt4 = ds.Tables[3];
dt5 = ds.Tables[4];
dt6 = ds.Tables[5];

if (dt1.Rows.Count == 0) //ถ้าไม่มีข้อมูล
{

txtName.Focus();
return;
}

if (dt2.Rows.Count == 0)
{
Response.Redirect("Default2.aspx?Value1=" + txtID_Pers.Text);
return;
}
if (dt3.Rows.Count == 0)
{
Response.Redirect("Default3.aspx?Value2=" + txtID_Pers.Text);
return;
}
if (dt4.Rows.Count == 0)
{
Response.Redirect("Default3.aspx?Value4=" + txtID_Pers.Text);
return;
}
if (dt5.Rows.Count == 0)
{
Response.Redirect("Default3.aspx?Value3=" + txtID_Pers.Text);
return;
}
if (dt6.Rows.Count == 0)
{
Response.Redirect("Default3.aspx?Value5=" + txtID_Pers.Text);
return;
}

ครับ แล้วข้อมูลก็จะเด้งไป หน้าที่เรายังไม่ได้กรอกข้อมูลลงไปอ่ะครับ เพื่อทำต่อได้เลย

หัวหน้าผมเค้าสอนทำอ่ะครับ ใจดีจัง แต่ไม่กล้าถามเค้าบ่อยครับ เค้ามีงานเยอะ อันนี้ เอามาแบ่งปันครับ ถามเว็บนี้มาเยอะแล้ว เลยอยากตอบแทนอะไรบ้างเล็กๆ น้อยๆก็ยังดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 09:58:57 By : Bill17259
 


 

No. 4

Guest


ถ้าผมจะตำหนิว่า ตรรกะ/วิธีการ ไม่ค่อยจะถูกต้อง หลงทาง (ทั้งหัวหน้า/ลูกน้อง)
1. Store Procedure หลงไปไกลลิบ
2. ขั้นตอนการทำงาน หลงไปไกลลิบลับ
---- 2.1 วิธีการ ป้อน/แก้ไข ข้อมูล
---- 2.2 อะไรควรแยกกลับเอามารวมกัน อะไรควรเอามารวมกันกลับแยกไปซะงั้น
...
...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 16:43:22 By : ผ่านมา
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 3 เขียนโดย : Bill17259 เมื่อวันที่ 2013-09-02 09:58:57
รายละเอียดของการตอบ ::
เลยอยากตอบแทนอะไรบ้างเล็กๆ น้อยๆก็ยังดีครับ


Code
อันนี้คุณคิดได้ถูกต้อง (วิธีคิดแบบนี้ ในมหาวิทยาลัยก็ไม่มีสอน แต่คุณคิดได้ด้วยตัวของคุณเอง)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 16:53:51 By : ผ่านมา
 


 

No. 6



โพสกระทู้ ( 1,348 )
บทความ ( 1 )



สถานะออฟไลน์


กำลังคิดว่า ถ้า User เผลอปิด ก็ให้แสดง dialog ถามก่อนจะได้ไหม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 17:13:37 By : watcharop
 


 

No. 7



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 4 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-09-02 16:43:22
รายละเอียดของการตอบ ::
ผมเพิ่งหัดเขียนน่ะครับ เลยมั่วๆ ไปบ้าง ผมเขียนเองยัง งงเองเลยครับ ตำหนิเลยครับ ผมจะได้นำไปปฏิบัติให้ถูกต้องและนำมาแก้ไขปรับใช้ครับ ตอบความคิดเห็นที่ : 5 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-09-02 16:53:51
รายละเอียดของการตอบ ::
ขอบคุณครับ ตอบความคิดเห็นที่ : 6 เขียนโดย : watcharop เมื่อวันที่ 2013-09-02 17:13:37
รายละเอียดของการตอบ ::
อันนี้ผมว่าได้นะครับแต่ผมก็เขียนไม่เป็นอ่ะครับ ต้องศึกษาก่อน เผื่อ User เตะปลั๊ก มั้งครับ 555



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-03 09:57:42 By : Bill17259
 


 

No. 8

Guest


xxx ออกแบบหน้าจอให้เป็น Page เดียว (ข้อมูล Input/Output มันเยอะ)
1, 2, 3, ... ก็เลือกเอาตามสะดวก คล้ายฯ ระบบจองตั๋วเครื่องบิน/รถโดยสาร


--- 1. ใช้ Tab Page แบ่งเป็นหน้าฯ ไป หรือ
--- 2. ใช้ Div แบ่งเป็นหน้าฯ ไป หรือ
--- 3. ใช้ Panel แบ่งเป็นหน้าฯ ไป หรือ
--- 4. ใช้ Multi View แบ่งเป็นหน้าฯ ไป หรือ
--- 5. ใช้ User Control แบ่งเป็นหน้าฯ ไป

แล้วค่อย Set Visible = False/Active


yyy QUERY

Select * From xTable Inner Join yTable Cross Apply zTable Where ID_Pers=@ID_Pers
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-03 16:52:29 By : ผ่านมา
 


 

No. 9



โพสกระทู้ ( 115 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 8 เขียนโดย : ผ่านมา เมื่อวันที่ 2013-09-03 16:52:29
รายละเอียดของการตอบ ::
ขอบคุณครับพี่ ความรู้ใหม่เพียบเลย ยังไงก็รบกวนด้วยนะครับ อาจจะมาถามบ่อยๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-03 17:00:43 By : Bill17259
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ASP.Net หาก User กรอกข้อมูลที่เป็น คอมโบ Web page กัน แล้วเผลอปิดไป จะทำยังไง ให้เวลาเราเปิดแล้วใส่รหัสเดิมไป Userจะสามารถทำต่อได้จากของเดิมที่เผลอปิดไปอ่ะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่