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,037

HOME > .NET Framework > Forum > <select> ที่อยู่ใน Update Panel เดียวกับ Gridview พอมีการ AsyncPostBack เจ้า <select> หายไปแต่ยังมีค่าอยู่



 

<select> ที่อยู่ใน Update Panel เดียวกับ Gridview พอมีการ AsyncPostBack เจ้า <select> หายไปแต่ยังมีค่าอยู่

 



Topic : 121936



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



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



สวัสดีครับ (ขออนุญาตแก้คำถามใหม่ทั้งหมดเลยนะครับ เนื่องจากภาพมันใหญ่ และดูซับซ้อน)

ผมขอเกริ่นด้วยภาพ 4 ภาพก่อนนะครับ

1

1. นี่คือหน้าแรกที่เจอครับ

2

2. กดปุ่ม Button ครับ สังเกตว่า Select หายไปเลยครับ (ยังไม่ได้ผูก Event ใดๆ ในปุ่มเลยครับ)


3

3. เลยลองกดปุ่ม F12 ใน Chrome มันมีค่าครับ แต่ไม่เห็นตัว (เคสนี้ผมลองไม่ Import CSS, JS มันจะไม่เห็นรูปร่าง <select> เหมือนกันครับ แต่จะเห็นว่ามีค่าใน F12 แบบนี้เลย>


4

4. นี่ครับ โค้ดในหน้านี้ (aspx) ส่วนหน้า aspx.cs มีแค่ Page_Load ที่ไม่ได้เขียนอะไรเลยครับ
คำอธิบายเพิ่มเติม



Tag : .NET, JavaScript, Ajax, jQuery, Web (ASP.NET), C#









ประวัติการแก้ไข
2016-03-16 16:28:51
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-03-15 19:49:44 By : mitr2009 View : 1830 Reply : 10
 

 

No. 1

Guest


Code (C#)
protected void Page_Load(object sender, System.EventArgs e)
{
	UpdatePanel upn = this.FindControl("UpdatePanel4");
	//ContentPlaceHolder1_UpdatePanel4
	if (upn != null) {
		StringBuilder หำ = new StringBuilder();
		หำ.Append("$(function() {");
		หำ.Append(" $('.selectpicker').selectpicker();"); 
                //$('#ContentPlaceHolder1_SelectSubjectID').selectpicker();
		หำ.Append("});");
		ScriptManager.RegisterClientScriptBlock(upn, upn.GetType(), "ไอ้บ้านี่หาย", หำ.ToString(), true);
	}
}


GoodLuck.






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-15 20:55:58 By : หน้าฮี
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-03-15 20:55:58
รายละเอียดของการตอบ ::
ไม่ได้อะครับ มัน Error แบบนี้
1

Error

2


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-16 10:51:33 By : mitr2009
 

 

No. 3

Guest


จาก #NO 3 หมายความว่า "มันไม่มีอยู่จริง"

Code (C#)
protected void Page_Load(object sender, EventArgs e)
{
    Button btn = new Button() ;
    btn.ID = "dynID1";
    btn.Text = "หำน้อย";
    //Label lbl = new Label();
    //lbl.ID = "dynID2";
    this.Form.Controls.Add(btn);
    //this.Form.Controls.Add(lbl);
    //ลองตรองดู
    UpdatePanel upn = (UpdatePanel)this.Master.FindControl("ContentPlaceHolder1").FindControl("UpdatePanel4");
    if (upn !=null)
    //...



ผมไม่เห็นโครงสร้าง Layout MasterPage/PageXXX ของลูกท่านหลานเธอ
แต่ผลลัพธ์จากการเดาของผมจะให้ผิดมันยากเสียยิ่งกว่าทำให้ถูก

Code (C#)
UpdatePanel upn = (UpdatePanel)this.Master.FindControl("ContentPlaceHolder1").FindControl("UpdatePanel4");

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-16 11:36:48 By : หน้าฮี
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : หน้าฮี เมื่อวันที่ 2016-03-16 11:36:48
รายละเอียดของการตอบ ::

ผมแก้แบบนี้ไม่ Error ละครับ แต่ เปลี่ยนหน้า Gridview ก็ยังคง หาย อยู่ดีครับ

1

ตรงช่วง sb.Append(" $('#ContentPlaceHolder1_SelectSubjectID').selectpicker();"); ผมลองเปลี่ยน ID ไปหลายรูปแบบละ เหมือนจะยังไม่เวิร์คครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-16 12:04:15 By : mitr2009
 


 

No. 5



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



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

OK ครับ งั้นผมขอเริ่มใหม่นะครับ ตั้งหลักใหม่ ผมสร้าง Project ปล่าวๆ ขึ้นมา 1 ตัวเพื่อทดสอบปัญหาให้เห็นชัดเจนนะครับ

1

1. นี่คือหน้าแรกที่เจอครับ

2

2. กดปุ่ม Button ครับ สังเกตว่า Select หายไปเลยครับ (ยังไม่ได้ผูก Event ใดๆ ในปุ่มเลยครับ)


3

3. เลยลองกดปุ่ม F12 ใน Chrome มันมีค่าครับ แต่ไม่เห็นตัว (เคสนี้ผมลองไม่ Import CSS, JS มันจะไม่เห็นรูปร่าง <select> เหมือนกันครับ แต่จะเห็นว่ามีค่าใน F12 แบบนี้เลย>


4

4. นี่ครับ โค้ดในหน้านี้ (aspx) ส่วนหน้า aspx.cs มีแค่ Page_Load ที่ไม่ได้เขียนอะไรเลยครับ


ประวัติการแก้ไข
2016-03-16 16:11:05
2016-03-16 16:16:46
2016-03-16 16:17:45
2016-03-16 16:25:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-16 16:10:13 By : mitr2009
 


 

No. 6

Guest


คุณเข้าใจยกตัวอย่างมาประกอบ

Markup
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <!-- Jquery and Bootstrap 3.3.4-->
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <!-- Bootstrap select-->
    <script src='js/bootstrap-select.min.js' type="text/javascript"></script>
    <link rel="stylesheet" href="css/bootstrap-select.css" runat="server" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <div class="row">
                        <select id="selXXX" class="form-control selectpicker" data-container="form">
                            <option>--- หำทั้งหมด ---</option>
                            <option>2557</option>
                            <option>2558</option>
                            <option>2559</option>
                        </select>
                </div>
                <asp:Button ID="Button1" runat="server" Text="Button" />
            </ContentTemplate>
        </asp:UpdatePanel>     
    </form>
</body>
</html>



Code (C#)
protected void Page_Load(object sender, EventArgs e)
{
    UpdatePanel upn = UpdatePanel1;
    StringBuilder หำ = new StringBuilder();
    หำ.Append("$(function() {");
    หำ.Append(" $('.selectpicker').selectpicker();");
    หำ.Append("});");
    //ScriptManager.RegisterClientScriptBlock(upn, upn.GetType(), "ไอ้บ้านี่หาย", หำ.ToString(), true);
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-17 09:46:23 By : หน้าฮี
 


 

No. 7

Guest


จาก #NO6 ปัจจุบันผมเลิกใช้งานตัวนี้แล้ว (ระดับ Advance มันไม่เพียงพอสำหรับผม)
--- สักวันหนึ่งคุณก็จะรู้เองว่า "ผมพูดได้ถูกต้องหรือไม่?"
--- ปัจจุบันผมใช้ Select2 มันตอบโจทย์ของผมได้มากกว่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-17 10:14:57 By : หน้าฮี
 


 

No. 8

Guest


จาก #NO7 bootstrap-select มันทำอย่างนี้ไม่ได้ (ผมไม่มีเวลา(ขี้เกียจ) แก้ไข CSS)

btselect_fixed


GoodLuck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-17 10:28:43 By : หน้าฮี
 


 

No. 9



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



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

ขอขอบคุณ คุณ หน้าฮี มากนะครับที่เป็น GuildLine ให้จนเสร็จสมบูรณ์ วิธีการ StringBuilder มันไม่เวิร์ค ผมจึงนำมายัดใส่ .aspx สร้างเป็นฟังชัน แล้วเรียกเอาครับ ปรากฏว่า ได้เรื่องเลยทีเดียว ขอบคุณมากๆครับ

โค้ดของผม

1


2


แปะปัญหาเผื่อสำหรับท่านอื่นที่เรียกใช้ใน MasterPage นะครับ ID Control จะถูกเปลี่ยนถ้าหากใช้ Master Page พึงระวังให้ดี

ผมรู้เพราะกด F12 ใน Chrome เพื่อเช็ค ID ของ Control นะครับ

3

วิธีแก้ไขก็คือ ทำแบบนี้ครับ

$("#<%=SelectAcademicYear.ClientID%>").selectpicker();
สีแดง = ID ของ Control
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-17 13:46:28 By : mitr2009
 


 

No. 10

Guest


จาก #NO9 : จะเขียนแบบไหนมันก็มีค่าเท่ากัน

Quote:
วิธีการ StringBuilder มันไม่เวิร์ค

--- StringBuilder() == คุณเขียน/ผมเขียน เสมอ
--- 1 + 2 == 2 + 1 เสมอ สิ่งที่ค้างคาใจมันเป็นหน้าที่ของคุณ

สักวันหนึ่งคุณก็จะรู้เองว่า "ผมพูดได้ถูกต้องหรือไม่?"


Markup
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApplication6.WebForm3" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <!-- Jquery and Bootstrap 3.3.4-->
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
    <!-- Bootstrap select-->
    <script src='https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/js/bootstrap-select.min.js' type="text/javascript"></script>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.10.0/css/bootstrap-select.css" />
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
            <ContentTemplate>
                <div class="row">
                        <select id="selXXX" class="form-control selectpicker" data-container="form">
                            <option>หำทั้งหมด</option>
                            <option>A</option>
                            <option>B</option>
                            <option>C</option>
                        </select>
                </div>
                <asp:Button ID="Button1" runat="server" Text="Button" />
            </ContentTemplate>
        </asp:UpdatePanel>     
    </form>
</body>
</html>


Code (C#)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Text;

namespace WebApplication6
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            UpdatePanel upn = UpdatePanel1;
            StringBuilder หำ = new StringBuilder();
            หำ.Append("$(function() {");
            หำ.Append(" $('.selectpicker').selectpicker();");
            หำ.Append("});");
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "ไอ้บ้านี่หาย", หำ.ToString(), true);
            //ScriptManager.RegisterClientScriptBlock(upn, upn.GetType(), "ไอ้บ้านี่หาย", หำ.ToString(), true);
            //ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ไอ้บ้านี่หาย", "$('.selectpicker').selectpicker();", true);
            //ScriptManager.RegisterClientScriptBlock(UpdatePanel1, UpdatePanel1.GetType(), "ไอ้บ้านี่หาย", "$('.selectpicker').selectpicker();", true);
        }
    }
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-17 15:25:52 By : หน้าฮี
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : <select> ที่อยู่ใน Update Panel เดียวกับ Gridview พอมีการ AsyncPostBack เจ้า <select> หายไปแต่ยังมีค่าอยู่
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่