ความผิดพลาดคืออาจารย์ 2

บันทึก asp.net :: การทำ user control “วันที่” ด้วยตนเอง มั่วอยู่สามวันได้มาแบบนี้

Posted on: พฤศจิกายน 21, 2008

ทดสอบใน visual studio 2005 และ visual studio 2008 ด้วย ms sql server 2005

โดย add New Item เป็นประเภท Web User Control ตั้งชื่อว่า dateControl.ascx

ซึ่งจะมันจะสร้างไฟล์ code behide ที่ชื่อว่า dateControl.ascx.vb ขึ้นมาให้

ไปหน้า source ของไฟล์ dateControl.ascx -> เขียนโค๊ดได้ดังนี้

<%@ Control Language=”VB” AutoEventWireup=”false” CodeFile=”dateControl.ascx.vb” Inherits=”myusercontrol_dateControl” %>
<asp:DropDownList ID=”ddlDateControl” runat=”server”>
</asp:DropDownList>
<asp:DropDownList ID=”ddlMonthControl” runat=”server”>
<asp:ListItem Value=”1″>มกราคม</asp:ListItem>
<asp:ListItem Value=”2″>กุมภาพันธ์</asp:ListItem>
<asp:ListItem Value=”3″>มีนาคม</asp:ListItem>
<asp:ListItem Value=”4″>เมษายน</asp:ListItem>
<asp:ListItem Value=”5″>พฤษภาคม</asp:ListItem>
<asp:ListItem Value=”6″>มิถุนายน</asp:ListItem>
<asp:ListItem Value=”7″>กรกฏาคม</asp:ListItem>
<asp:ListItem Value=”8″>สิงหาคม</asp:ListItem>
<asp:ListItem Value=”9″>กันยายน</asp:ListItem>
<asp:ListItem Value=”10″>ตุลาคม</asp:ListItem>
<asp:ListItem Value=”11″>พฤศจิกายน</asp:ListItem>
<asp:ListItem Value=”12″>ธันวาคม</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID=”ddlYearControl” runat=”server”>
</asp:DropDownList>

และในหน้า dateControl.ascx.vb เขียนดังนี้

Imports System.Globalization

Partial Class myusercontrol_dateControl
Inherits System.Web.UI.UserControl
Public MonthValue As String
Public yearValue As String
Public m_minYear As Integer = Year(Now) – 10
Public m_maxYear As Integer = Year(Now)
Public dateValue As Integer

Public Property DVal() As Integer
Get
dateValue = ddlDateControl.SelectedValue
Return dateValue
End Get
Set(ByVal value As Integer)
dateValue = ddlDateControl.SelectedValue
End Set
End Property

Public Property MVal() As String
Get
MonthValue = ddlMonthControl.SelectedValue
Return MonthValue
End Get
Set(ByVal value As String)
MonthValue = ddlMonthControl.SelectedValue
End Set
End Property

Public Property YVal() As String
Get
yearValue = ddlYearControl.SelectedValue – 543
Return yearValue
End Get
Set(ByVal value As String)
yearValue = ddlYearControl.SelectedValue – 543
End Set
End Property

Public Property YearMin() As Integer
Get
Return m_minYear
End Get
Set(ByVal value As Integer)
m_minYear = value
End Set
End Property

Public Property YearMax() As Integer
Get
Return m_maxYear
End Get
Set(ByVal value As Integer)
m_maxYear = value
End Set
End Property

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

If Not Page.IsPostBack Then
ddlDateControl.Items.Add(“วันที่”)
For i As Integer = 1 To 31
ddlDateControl.Items.Add(i)
Next

ddlYearControl.Items.Add(“ปี พ.ศ.”)
Dim j As Integer = m_maxYear

While j > m_minYear
ddlYearControl.Items.Add(j)
‘Response.Write(j & “<br>”)
j = j – 1
End While

End If
End Sub
End Class

เวลาจะเอามาใช้ ก็ Add New Item -> web form ขึ้นมาใหม่

แล้วในหน้า design เลือกไฟล์ User Control ที่สร้างไว้เมื่อกี้(ไฟล์ dateControl.ascx) ลากมาใช้ได้เลย

เสมือนกับเราลาก Control ทางด้านซ้ายมือมาใช้ แล้วก็กำหนดค่า id ให้แตกต่างกัน..ถ้าเราลากมาหลายตัวนะคะ

เวลากดปุ่มเราก็ view ค่าออกมาดู

Response.Write(“เกิดวันที่ ” & dateUC1.DVal & “/” & dateUC1.MVal & “/” & dateUC1.YVal)

ปล.1

เขียนถูกๆผิดๆ

ตอนแรกจะวนลูป ให้เพิ่มเดือนอัตโนมัติ

แต่ติดตรงที่ไม่รู้คำสั่ง add value ให้กับ dropdownlist

รู้แต่คำสั่ง Items.Add(“”) โดยใช้ CultureInfo(“th-TH”) ช่วย

ติดมาเป็นวันๆ เลยใช้วิธีแอดจาก tools ซะเลย

แล้วตกลงคำสั่ง add value ให้กับ dropdownlist มันคืออะไรคะ.. ???

3 Responses to "บันทึก asp.net :: การทำ user control “วันที่” ด้วยตนเอง มั่วอยู่สามวันได้มาแบบนี้"

You can manually add value to dropdownlist via list items like this:

ddlMonthControl.Items.Add(New ListItem(“your_text”, “your_value”))

If Page.IsPostBack Then
Response.Write(“เกิดวันที่ ” & dateUC1.DVal & “/” & dateUC1.MVal & “/” & dateUC1.YVal)
End If

รู้สึกว่า การับค่าจะแปลกๆ เนาะ ต้องเช็ค Page.IsPostBack ก่อน ไม่งั้น error

System.FormatException: Input string was not in a correct format.

ทำตามคำแนะนำของ คุณ wit แล้วได้จริงๆ ด้วย ขอบคุณค่ะ *0* loop for ใส่ค่าเดือนภาษาไทยได้เลยไม่ต้องมานั่งกรอก

‘ show month ใช้ CultureInfo(“th-TH”) ******************
Dim CU As CultureInfo = New CultureInfo(“th-TH”)
Dim M2 As String = “MMMM”
Dim DX As DateTimeFormatInfo = CU.DateTimeFormat

For i As Integer = 1 To 12

Dim DATE1 As New Date(2008, i, 1)
DropDownList1.Items.Add(New ListItem(DATE1.ToString(M2, DX), i))

Next

ใส่ความเห็น

หมวดหมู่

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 335 other subscribers

brush photoshop

Add new tag asp.net atsme banner Blog ไทยโดเมน.in.th brush brush photoshop brush photoshop7 brush photoshop ตึก และ นก brush photoshop นักธุรกิจ Business Marketing Day chiangmai magazine cmhappy cmhappy.com cmtoday cmtoday cmhappy download brush download brushes photoshop CS4 download brush photoshop download บรัช e-atsme flash banner free domani FTP+PHP FW mail meeting menu photoshop brush download PHP RA Red Alert3 reggae sme tab thnic virus web design wordpress Yetii Yuri การทำ flash banner กินเนื้อสด ข้าวยาก หมากแพง ความฝัน ฆ่าควาย ฆ่าหมู่ จ๊อบ บรรจบ ชมรมเว็บมาสเตอร์ & ทำ web ทำเว็บ บรัช โฟโต้ช็อป ประกันชีวิต ปริญญา ปาย สวนบวกหาด สอบกพ สอบภาค ก หนังฆ่าคนดำ หน้าที่ webmaster หมาใจดำ หวยออก 111 หางดง เชียงใหม่ อ.ไชยยันต์ ไชยพร ออกแบบเว็บ เบื่อ เร้กเก้ เลี้ยงดง เว็บ SME เว็บเชียงใหม่ แจก brush photoshop แต่งภาพ แว่นตาเกาหลี แว่นตาแฟชั่น แว่นแฟชั่น
พฤศจิกายน 2008
จ. อ. พ. พฤ. ศ. ส. อา.
 12
3456789
10111213141516
17181920212223
24252627282930

Blog Stats

  • 349,760 hits