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 > มีวิธีอ้างอิง control ระหว่าง runtime หรือป่าวครับ รายละเอียดต่อต่อด้านในครับ...



 

มีวิธีอ้างอิง control ระหว่าง runtime หรือป่าวครับ รายละเอียดต่อต่อด้านในครับ...

 



Topic : 058111



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



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




เป็น Class ที่เอาไว้เปลี่ยนภาษา(Culture) ของหน้า page อะครับ
โดยสืบทอดจาก Class --> System.Web.UIPage
ที่method ---> InitializeCulture()

ในระหว่าง Method InitializeCulture() ผมต้องการอ้างอิง Control เพื่อจะได้เปลี่ยนภาษาตามที่ User กระทำต่อ Control นั้นๆ


แต่ผมไม่เข้าใจการประกาศตัวแปรแบบนี้ครับ
Public Const LanguageDropDownName As String = "ctl00$cphHeader$Header1$ddlLanguage"

ซึ่งเข้าใจว่า...
ddlLanguage ---> เป็น Id ของ DropDownList
Header1 ---> เป็น Id ของ Web User Control ซึ่งมี ddlLanguage อยู่ข้างใน
cphHeader ---> เป็น Id ของ ContentPageHolder ซึ่งมี Header1 อยู่ข้างใน

แต่ ctl00 มันคืออะไรอะครับ?

หรือมีวิธีหา Control แบบอื่นหรือเปล่าครับ?

โค้ดครับ
Code (VB.NET)
Imports Microsoft.VisualBasic
Imports System.Data
Imports System.Configuration
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls
Imports System.Threading
Imports System.Globalization

Public Class BasePage
    Inherits Page

    Public Const LanguageDropDownName As String = "ctl00$cphHeader$Header1$ddlLanguage"
    Public Const PostBackEventTarget As String = "__EVENTTARGET"

    Protected Overrides Sub InitializeCulture()

        If Request(PostBackEventTarget) IsNot Nothing Then

            Dim controlID As String = Request(PostBackEventTarget)

            If controlID.Equals(LanguageDropDownName) Then

                Dim selectedValue As String = Request.Form(Request(PostBackEventTarget)).ToString()

                Select Case selectedValue
                    Case "0"
                        SetCulture("hi-IN", "hi-IN")
                        Exit Select
                    Case "1"
                        SetCulture("en-US", "en-US")
                        Exit Select
                    Case "2"
                        SetCulture("en-GB", "en-GB")
                        Exit Select
                    Case "3"
                        SetCulture("fr-FR", "fr-FR")
                        Exit Select
                    Case Else
                        Exit Select
                End Select

            End If
        End If

    End Sub

    Protected Sub SetCulture(ByVal name As String, ByVal locale As String)
        Thread.CurrentThread.CurrentUICulture = New CultureInfo(name)
        Thread.CurrentThread.CurrentCulture = New CultureInfo(locale)
        Session("MyUICulture") = Thread.CurrentThread.CurrentUICulture
        Session("MyCulture") = Thread.CurrentThread.CurrentCulture
    End Sub




Tag : .NET, Web (ASP.NET), VS 2010 (.NET 4.x)









ประวัติการแก้ไข
2011-03-31 16:36:48
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-03-31 16:35:36 By : stricken View : 1305 Reply : 2
 

 

No. 1



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

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

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

อยากหาอะไร ก็น่าจะใช้การ Me.FindControl("") ได้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-24 09:36:22 By : webmaster
 


 

No. 2



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



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


ใช้วิธีอย่าง Mr.Win ว่าไว้แหละครับ
หรือถ้า Event InitializeCulture นั้นสามารถใช้ ddlLanguage.SelectedValue ได้ก็ใช้วิธีนี้ไปเลย

ถ้าอยากรู้ว่า ctl00 คืออะไร (เอาไว้ประดับความรู้)
ให้กำหนด trace="true"
T1

แล้วเปิด Page นั้น ข้างล่างจะมีสภาพประมาณนี้
T2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-01-24 10:06:05 By : watcharop
 

   

ค้นหาข้อมูล


   
 

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