บันทึก ASP.NET :: อยากให้ Control บางตัวใช้งานไม่ได้ (enable false)
Posted พฤศจิกายน 21, 2008
on:กำหนดเมื่อ page load ให้ dropdownlist เป็น “โสด” แล้วกำหนด คอนโทรลตัวอื่นที่ไม่เกี่ยวข้องให้ใช้งานไม่ได้
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
MarryNotShow()
‘control วันที่
If Page.IsPostBack Then
Response.Write(“เกิดวันที่ ” & dateUC1.DVal & “/” & dateUC1.MVal & “/” & dateUC1.YVal)
‘ control radio button เพศ
If radiMale.Checked = True Then
Response.Write(radiMale.Text)
Else
Response.Write(radiFemale.Text)
End If
End If
End Sub
และเมื่อมีเปลี่ยนค่า ใน dropdownlist จาก “โสด” เป็น “สมรส” control ถึงจะสามารถใช้งานได้
Protected Sub ddlMarry_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddlMarry.SelectedIndexChanged
‘check marry
If ddlMarry.SelectedValue = “สมรส” Then
MarryShow()
ElseIf ddlMarry.SelectedValue = “โสด” Then
MarryNotShow()
End If
End Sub
โดยเขียน private sub สองตัว
Private Sub MarryNotShow()
radiYes.Checked = False
radiNo.Checked = False
txtNameMate.Text = “”
txtJobMade.Text = “”
txtJobOfficeMade.Text = “”txtNameMate.CssClass = “textboxEnable”
txtJobMade.CssClass = “textboxEnable”
txtJobOfficeMade.CssClass = “textboxEnable”
ddlMarryRegis.Enabled = False
radiYes.Enabled = False
radiNo.Enabled = False
txtNameMate.Enabled = False
txtJobMade.Enabled = False
txtJobOfficeMade.Enabled = False
End Sub
Private Sub MarryShow()
txtNameMate.CssClass = “”
txtJobMade.CssClass = “”
txtJobOfficeMade.CssClass = “”ddlMarryRegis.Enabled = True
radiYes.Enabled = True
radiNo.Enabled = True
txtNameMate.Enabled = True
txtJobMade.Enabled = True
txtJobOfficeMade.Enabled = True
End Sub
เพิ่งนึกได้ ว่าตอนทำ vb6 สมัยเมินนานมาแล้ว ก็ทำแบบนี้นี่นา
ข้อเสียก็คือ ตอนเลือก สถานภาพสมรส มันจะส่งค่า ispostback ซึ่งจะทำให้หน้าเพจ refresh
(อาจจะทำให้ผู้ใช้รำคาญได้)
ไม่รู้ว่ามีวิธีอื่นที่ดีกว่านี้รึเปล่า..
3 Responses to "บันทึก ASP.NET :: อยากให้ Control บางตัวใช้งานไม่ได้ (enable false)"
เก่ง อ่า
1 | fayjaa
พฤศจิกายน 21, 2008 ที่ 5:57 pm
รู้สึกว่ามีปัญหาตรง css เพราะหลังจากกำหนดให้ CssClass = “” แล้ว css ที่ใช้กับ page หน้านี้เจ๊งไปเลย