คือผมเีขียน asp.net มาครึ่งปีได้ละพอจะสรุปได้ว่า
การเขียน asp.net แบบ asp.net tag standard อย่างเช่น <asp:TextBox>
สร้างปัญหามากกว่าแบบเก่า ยกตัวอย่างเช่น viewstate เก็บข้อมูลเก่า,
การใช้ gridview แล้วไม่สามารถแทรก ?page=2 แล้วไปยังหน้า 2 ได้เหมือนเดิม นอกจากต้องเขียนคำสั่งแทรกเพิ่มขึ้นมาอีก
ทุกๆ อย่างที่ asp.net เสนอมาใน tag standard , data binding และหลายๆ อย่าง ล้วนแล้วแต่ทำให้การเขียนเว็บยากขึ้นเสมอ
หลายๆ ท่านที่เขียนมาสักพักคงจะทราบดีและในที่สุดก็ต้องย้ายไปเขียนแบบ asp ทีละนิดๆ
อย่างเช่นใช้ tag <input type="text"/> แบบธรรมดาแทน หรือการใช้ include ไฟล์อื่นแบบ asp รุ่นเก่า
ผมจึงขอเสนอแนะให้วางโครงสร้างการเขียนแบบ asp สำหรับการ design เว็บจะดีกว่า
ผมตั้งกระทู้นี้อาจจะดูถูกจากคนที่เขียน .net จ๋า แต่เชื่อเถอะครับว่าในที่สุดจะพบว่าวิธีที่ผมเสนอนั้นน่าคิดเอาอยู่เหมือนกัน
1) สำหรับ design ให้ทำให้ dream weaver เท่านั้น ซึ่งจะวางโครงสร้างเหมือนใน asp ธรรมดาอย่างเช่น <%=ตัวแปร %>
2) สำหรับ class และ function ให้ทำใน visual studio เพราะจะช่วยให้มีตัว autocomplete tool ให้เขียนได้รวดเร็ว
3) สำหรับการ debug ก็ยังสามารถทำใน visual studio ได้เช่นเดิม
อ่านแล้วก้ออืม คงเป็นหนึ่งในหลายๆวิธีสนุกกับการทำงานกับ asp.net
จำได้ลางๆว่ามีคนมีปัญหากับ asp.net เพราะ dream weaver ไม่ support อะไรนี่ปหละนานแล้ว
ทางแก้ก้อ
a. ไม่ต้องใช้ dream weaver เพราะ microsoft มีเครื่องมือของเค้าอยู่แล้วชื่อ expression blend
b. ก้อใช้ dream weaver ต่อไปแต่ไปใช้อย่างอื่นที่ support กับ dream weaver คงเป็นตระกูล flash , air มั้งคะ
c. ก้อทำตามที่คุณแนะนำ
tag แบบ .net ตัวอย่างเช่นนะครับ มีการแบ่งลำดับชั้น ถ้ามี master page หรืออยู่ใน gridview formview ฯลฯ ก็จะมี tag id แบบ auto นะครับ
การมี tag id ที่ยาวๆ คงจำเป็นสำหรับ asp.net ในการจัดการ control ให้ไม่มี id ซ้ำ
แต่ลองคิดถึงการใช้ javascript อ้างถึงแต่ละ id ดูสิครับว่ายากแค่ไหน และการใช้ tag ต่างๆ อย่างเช่น gridview มันทำให้แก้โค้ดได้เร็วกว่าตรงไหน การจะใส่โค้ดแบบธรรมดาเพิ่มเข้าไปนอกจาก bind ข้อมูลธรรมดา
ในที่สุดก็ต้องทำแบบ html แต่เขียนแล้วโค้ดซับซ้อนกว่า html ความคิดเห็นของผมนะครับ tag .net <asp:/> ไม่ได้มีอะไรที่มีสาระมากไปกว่า framework ที่ยึดติดกับรูปแบบที่สร้างมาเพื่อความเท่ห์ของคนที่เชื่อถือ ms ตื่นเต้น แต่ถ้าพูดถึงประโยชน์และระยะเวลาพัฒนาแย่ยิ่งกว่าใช้ notepad เขียน html ซะอีก
ถ้าอยากแลกเปลี่ยนจริงๆ แนะนำที่ greatfriend.bizค่ะ
ที่นั่นมี Microsoft Most Valuable Professional (MVP) ที่มี certificate จริงๆหลายคน ลองเสนอ model ของคุณดูค่ะ
oop หรือครับ visual studio .net ที่ผมใช้มันไม่ให้ผม inherit class จาก class System.Web.UI.Page ผ่านระบบ gui เพื่อจะได้มี base class
สำหรับนำคำสั่งใช้ใหม่ได้ทุกๆ หน้าเลย ผมเลยไปไม่ถูกเลยต้องมา copy โค้ดทุกหน้าด้วยตัวเอง เหอๆ คนทำ gui visual studio เค้าเขียน oop เป็นป่าวน้า... :D
- ถ้าถนัดเขียนแบบธรรมดาก็ตามสบายครับ แต่ผมขอใช้ asp.net control เวลาเขียนแบบไม่มีลูปแล้วรู้สึกไม่โง่
control มันดัดแปลงได้ไม่สุด ในที่สุดคุณก็เขียนแบบ loop ธรรมดา แล้วจะบอกว่า asp.net ออกแบบ control ได้เรื่องเหรอ
อย่าคิดว่าของทันสมัยจะทำได้ดีเสมอไป ก็แค่ทำให้ดูดีแต่ไม่มีประโยชน์
- ถ้าเคยเขียน asp.net แบบ oop น่าจะเปิด msdn เป็นนะครับ ^^
เปิดและทำให้ผมดูหน่อยสิครับเอาแค่จุดนี้แหละอยากรู้ว่าคุณทำไง
control มันดัดแปลงได้ไม่สุด ในที่สุดคุณก็เขียนแบบ loop ธรรมดา แล้วจะบอกว่า asp.net ออกแบบ control ได้เรื่องเหรอ
อย่าคิดว่าของทันสมัยจะทำได้ดีเสมอไป ก็แค่ทำให้ดูดีแต่ไม่มีประโยชน์
- ถ้า control ที่ให้มันไปได้ดั่งใจ ก็สร้าง control ใช้เองเลยครับ จะ build เป็น dll ให้คนอื่นใช้ด้วยก็ได้ แต่ถ้าใช้งานแค่ที่คุณต้องต้องการ แบบ standard ก็เหลือแหล่แล้ว แนะนำให้ฝึกเยอะๆ ^^
Quote:
ตรงนี้มันเป็น ส่วนที่ asp.net ยังไม่สนับสนุน ถึงจะทำได้แต่เขียนยุ่งยาก หาเรื่องให้คนเีขียนโปรแกรมปวดหัวเล่น คุณลองหาอ่านดูนะว่าชอบใจวิธีของ .net แบบนี้ป่ะ
ขอบคุณท่านนี้ด้วยครับ ไม่เป็นไรครับมันก็ต้องมีความเห็นไม่ตรงกันบ้างเพราะผมเล่นขัด asp.net หลายอย่างเลย
ก็เป็นแค่ข้อเสนอแนะน่ะครับ ผมคิดว่าถ้าทำตามผมคิดไว้มันน่าจะสะดวกกว่าเท่านั้นเอง ถ้าคล่อง asp.net ไปแล้ว อาจจะทำงานได้ฉิวกว่าวิธีของผมก็ได้ครับ...
ตามความเห็นของผม web form ของ asp.net ทำให้โค้ดซับซ้อน ก็เลยแบ่งส่วนเป็น html ที่ใช้ asp tag ธรรมดา ก็พอ ก็ตรงกับ mvc ตรงนี้แหละใช้เทคโลยีใหม่เท่าที่จำเป็นทำให้เข้าไปแก้โค้ดได้ง่ายกว่า
ที่ผมแนะนำไปก็ไม่ไ่ด้เหมือน mvc แต่แนวการเขียนที่ผมเสนอคงต้องไป asp.net mvc ซะมากกว่า
web form ของ asp.net มี auto operation ทุก control คุณไม่จำเป็นต้องเขียน code behide เลยก้อได้
แนวคิดคุณกับ mvc พราวว่ามันคนละเรื่อง mvc ถอด code ออกเป็น model - view - controller สลับสับกันได้
ยิ่งทำให้ต้องเขียน code เพิ่มและมีการวางแผนที่ดี แต่ถ้าชอบถ้าคิดว่าใช่ก้อลองดูค่ะ
อ๋อ สรุปอีกทีคุณใช้ dream ออกแบบมันเลยเร็วงั้นดิคะ
แต่ที่ว่ามันติดคือ tag ของ asp.net >> จริงๆคือ server side tag ของ component ของ .net
มันทำให้คุณช้าหรอคะ
Date :
2010-11-16 16:27:18
By :
blurEyes
No. 23
Guest
ประมาณนั้นครับ หน้า design ของ visual studio มันทำงานช้ากว่า dream เยอะเลย
แล้วพอไปหน้าโค้ด โค้ดของ webform มันอ่านยากกว่า html เห็นๆ
พอจะเข้าใจความรู้สึกผมบ้างยังครับ..