🔊 โปรดทราบ Image
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ดครับ Image
  2. การสมัครสมาชิกเพื่อโพสต์คำถาม ดาวน์โหลดไฟล์แนบไปศึกษา ทำตามขั้นตอนด้านล่างครับ
    1. สมัครสมาชิก ดูขั้นตอนตาม Link นี้ครับ => สมัครสมาชิก กรณีลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่นี่ครับ => Reset รหัสผ่านImage
    2. Login เข้าระบบโดยคลิก Login ตรงมุมขวาบนของหน้านี้ Image กรณีมีปัญหาในการเข้าใช้งาน คลิก Link นี้เพื่อแจ้งผู้ดูแลระบบครับ => ติดต่อผู้ดูแลระบบ
  3. เมื่อ Login แล้วสามารถกำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษได้ที่ Link นี้ครับ => ตั้งค่าส่วนตัว Image
  4. วิธีการตั้งและตอบกระทู้ดูได้ที่ Link นี้ครับ => วิธีการตั้งและตอบกระทู้ Image
  5. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ Link นี้ครับ => จัดรูปแบบตัวอักษร และสามารถกำหนดขนาดตัวอักษรใน Browser ได้ที่นี่ครับ => กำหนดขนาดตัวอักษรใน Browser Image

สอบถามการส่งค่า ID ผ่าน modal pop-up

ฟอรัมถาม-ตอบเกี่ยวกับ C#
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถาม-ตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบ ต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. อธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. ควรแนบตัวอย่างไฟล์มาที่ฟอรั่มนี้เพื่อเพิ่มความสะดวกในการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่น นอกจากนี้ไม่ควรแนบไฟลที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. สำหรับคำถามเกี่ยวกับ VBA ให้ลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน ควรโพสต์ Code ให้แสดงเป็น Code เพื่อสะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. แจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
phiyaphat
Member
Member
Posts: 3
Joined: Sun Dec 31, 2017 4:52 pm

สอบถามการส่งค่า ID ผ่าน modal pop-up

#1

Post by phiyaphat » Thu Apr 05, 2018 10:37 pm

เมื่อไฟล์ต่างๆถูกบันทึกลงฐานข้อมูลแล้วเรียกชื่อไฟล์มาแสดงใน Gridview ดังภาพ ซึ่งมีปุ่มให้คลิกเข้าไปแก้ไขไฟล์ผ่าน modal pop-up ดังภาพที่ 2 โดยใช้ Hiddenfield เป็นตัวเก็บค่า ID ของแต่ละไฟล์ เมื่อคลิกปุ่มแก้ไขจะส่งค่า ID ไปในฟังก์ชัน editClick เมื่อ pop-up แสดงขึ้นมาแล้วเลือกไฟล์ที่ต้องการอัพเดท จากนั้นคลิกปุ่ม save จะเข้าฟังก์ชัน EditFileUpload แต่ปัญหาอยู่ตรงที่ค่า ID จากปุ่มแก้ไขไม่เข้าฟังก์ชัน EditFileUpload ค่ะ เลยไม่สามารถทำการ Update ไฟล์ได้ รบกวนขอคำแนะนำได้ไหมคะ

Code: Select all

protected void editClick(object sender, EventArgs e)
        {
            HiddenDocID.Value = (sender as LinkButton).CommandArgument;
            ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "open();", true);
            
        }

        protected void EditFileUpload(object sender, EventArgs e)
        {
            string id = HiddenDocID.Value;
            string filename = Path.GetFileName(FileUpload1.PostedFile.FileName);
            string contentType = FileUpload1.PostedFile.ContentType;
            try
            {
                using (Stream fs = FileUpload1.PostedFile.InputStream)
                {
                    using (BinaryReader br = new BinaryReader(fs))
                    {
                        byte[] bytes = br.ReadBytes((Int32)fs.Length);
                        string strConString = ConfigurationManager.ConnectionStrings["DatabaseConnection"].ConnectionString;
                        using (SqlConnection con = new SqlConnection(strConString))
                        {
                            string query = @"UPDATE Documents SET Doc_name = @Doc_name, Doc_type = @Doc_type, Data = @Data where [Doc_id] = @Doc_id";
                            using (SqlCommand cmd = new SqlCommand(query))
                            {
                                cmd.Connection = con;
                                cmd.Parameters.AddWithValue("@Doc_name", filename);
                                cmd.Parameters.AddWithValue("@Doc_type", contentType);
                                cmd.Parameters.AddWithValue("@Data", bytes);
                                cmd.Parameters.AddWithValue("@Doc_id", id);
                                con.Open();
                                cmd.ExecuteNonQuery();
                                con.Close();
                            }
                        }
                    }

                }
            }
            catch (Exception ex)
            {
                string error = ex.Message;
            }
        }
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 23133
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: สอบถามการส่งค่า ID ผ่าน modal pop-up

#2

Post by snasui » Thu Apr 05, 2018 11:32 pm

:D HiddenDocID ได้ประกาศเป็นตัวแปร Field ใช่หรือไม่ครับ

หากใช่ Code ควรจะทำงานได้ ไม่เช่นนั้นก็ต้องลอง Debug ดูว่าค่าที่ Assign ให้กับ HiddenDocID ใน editClick กับ id ใน EditFileUpload คือตัวเดียวกันหรือไม่ครับ

phiyaphat
Member
Member
Posts: 3
Joined: Sun Dec 31, 2017 4:52 pm

Re: สอบถามการส่งค่า ID ผ่าน modal pop-up

#3

Post by phiyaphat » Fri Apr 06, 2018 7:24 am

ใช้ HiddenField แบบนี้ค่ะ แต่ค่า ID ไม่ยอมส่งค่าเข้าฟังก์ชัน EditFileUpload ค่ะ ลอง Debug แล้วได้ตามภาพเลยค่ะ

Code: Select all

<asp:HiddenField ID="HiddenDocID" runat="server" Value="" />

Code: Select all

<asp:LinkButton ID="Edit" runat="server" class="btn btn-danger btn-xs" data-target="exampleModal"
                                            OnClick="editClick" CommandArgument='<%# Eval("Doc_id")%>'><span class="glyphicon glyphicon-pencil" ></span></asp:LinkButton>
                                        </span>
You do not have the required permissions to view the files attached to this post.

User avatar
snasui
Site Admin
Site Admin
Posts: 23133
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Contact:

Re: สอบถามการส่งค่า ID ผ่าน modal pop-up

#4

Post by snasui » Fri Apr 06, 2018 8:48 am

:D ลองดูวิธีการตาม Link นี้ว่าช่วยแก้ปัญหาได้หรือไม่ครับ https://stackoverflow.com/questions/232 ... able-scope

สำหรับการโพสต์ Code ให้ขึ้นต้นด้วย [code] และปิดด้วย [/code] เพื่อให้แสดงเป็น Code ด้านบนผมแก้ให้แล้วทั้งสองโพสต์ การโพสต์แบบ Inline คือขึ้นต้นด้วย [c] และปิดด้วย [/c] ใช้เพื่อกล่าวถึง Code ในการอธิบายข้อความตามปกติ หากนำมาใช้กับการโพสต์ Code จะอ่านลำบากครับ

Post Reply