May 2007
M T W T F S S
« Apr   Jun »
 123456
78910111213
14151617181920
21222324252627
28293031  

แบ่งปันครับ ASP.NET : function ป้องกัน user กดคลิ๊ก ปุ่ม หลายๆครั้ง

เชื่อว่าหลายคนคงเจอปัญหานะครับ กับ การที่ user คลิ๊กปุ่มเดิมซ้ำๆ ในกรณี ที่คลิ๊กแล้ว page ไม่โหลดซะที

พอโหลดแล้วปรากฏว่า ข้อมูลขึ้นมาเต็มไปหมด (ในกรณีที่ เป็นการ save ข้อมูลใหม่นะครับ)

สำหรับ .NET 2.0 นะครับ ถ้า 1.1 ให้ ตัด “ClientScript” ออกครับ

Public Sub ClickOnceButton(ByRef page As Page, ByRef b As Button)Dim oneClickScript As System.Text.StringBuilder = New System.Text.StringBuilder()oneClickScript.Append(

“if (typeof(Page_ClientValidate) == ‘function’) { “)oneClickScript.Append(“if (Page_ClientValidate() == false) { return false; }} “)oneClickScript.Append(

“this.value = ‘Please [...]

XHTML tutor

Attribute Names Must Be In Lower Case
Wrong
<table WIDTH=”100%”>
Correct
<table width=”100%”>

Attribute Values Must Be Quoted
Wrong:
 <table width=100%>
 Correct:
 <table width=”100%”>

Attribute Minimization Is Forbidden
Wrong:
<input checked>
<option selected>
<frame noresize>

Correct:
<input checked=”checked” />
<option selected=”selected” />
<frame noresize=”noresize” />

The id Attribute Replaces The name Attribute
Wrong:
<img src=”picture.gif” name=”picture1″ />
Correct:
<img src=”picture.gif” id=”picture1″ />

XHTML Structure
<!DOCTYPE …>
<html ….>
<head> –<title>……</title>
</head>
<body> –…..
</body>
</html>

DOCTYPE
แท็กที่มีลักษณะพิเศษ
ต้องประกาศไว้ตอนต้นของเอกสาร
ไม่้ต้องมีแท็กปิด (closing tag)
มีรูปแบบการใช้ 3 รูปแบบ คือ –STRICT –TRANSITIONAL –FRAMESET
จำเป็นต้องประกาศ DOCTYPE ถ้าต้องการให้ผ่าน Validator

XHTML [...]

คำถามเกี่ยวกับการ generate html code จาก DataGrid(asp.net 1.1) กับ GridView(asp.net 2.0)

คำถามเกี่ยวกับการ generate html code จาก DataGrid(asp.net 1.1) กับ GridView(asp.net 2.0)

อยากรู้ว่า generate เป็น table หรือเปล่า???

XHTML Syntax Rules

●Attribute names must be in lower case
●Attribute values must be quoted
●Attribute minimization is forbidden
●The id attribute replaces the name attribute
●The XHTML DTD defines mandatory elements

จุดสำคัญของ xhtml

จุดสำคัญของ xhtml

ต้องมีลักษณะเป็น Well formed รูปแบบถูกต้อง ไม่พิมพ์ตกหล่น
ทุก tag ต้องมี tag ปิด ด้วยเสมอ

เช่น <p> ปิดด้วย </p>
ถ้าเป็น tag ที่แต่เดิมไม่มีตัวปิดให้เขียนในลักษณะนี้
<img src=”………” mce_src=”………”  /> ,
<input type=”checkbox” checked=”checked” />
ชื่อ tag และ attribute ต้องเป็นตัวพิมพ์เล็ก ทั้งหมด

ไม่ควรเขียน <BODY><P></P></BODY>
แต่จะต้องเป็น <body><p></p></body>
attribute values ต้องคลุมด้วย quoted

เช่น <div class=red> ต้องเขียนเป็น <div class=”red”>

สำหรับผมใช้ Dreamweaver8 เราก็กำหนดให้เป็นเอกสาร xhtml ตั้งแต่ต้นได้เลย กด File / New จะมีกล่องด้านล่างขวา ให้เลือก Doctype

Misusing and overdoing CSS

มันเกิดขึ้นได้ง่ายมากที่เราจะใช้ css ผิด หรือ มากเกินไป เรามาดูตัวอย่างที่ไม่ดีกัน

a.navLink { font-weight : bold; }

<a href=”/link1″ class=”navLink”>Link 1</a> <a href=”/link2″ class=”navLink”>Link 2</a> <a href=”/link3″ class=”navLink”>Link 3</a> <a href=”/link4″ class=”navLink”>Link 4</a>

ควรเขียนแบบนี้จะดีกว่าครับ

#navigation a { font-weight : bold; }

<div id=”navigation”> [...]

ตัวอย่างการใช้ div กับ table

<html>
    <head>
        <style type=“text/css“>
            body {
                background-color : #f7f7f7;
            }
            #sample1 {
                border-collapse : collapse;
                width : 510px;
                background-color : #fff;
                border-left : 1px solid #000;
                border-right : 1px solid #000;
            }
            #sample1 td {
                padding : 5px;
            }

            #sample2 {
                margin : auto; padding : 5px;
                width : 500px;
                background : #fff;
                border-left : [...]

กฎการเขียน CSS

 - Inheritance หากแปลตามตัวก็คือ การสืบทอด propertyบางตัว จะมีผลกับสิ่งที่อยู่ข้างในทั้งหมด เช่น

body{
color:green;
margin:5px;
}

สื่งที่อยู่ใน body จะมีฟ้อนต์เป็น สีเขียว ทั้งหมด แต่ margin จะทำเฉพาะ body เท่านั้น ไม่สืบทอดต่อไป

- Comment การคอมเม้นในไฟล์ .css จะใช้ /* เป็นการเปิด และ */ เป็นการปิด เช่น

/* COMMENTS CANNOT BE NESTED */

- Cascading Order คือ ลำดับความสำคัญของสไตล์ชีท

โดยธรรมชาติแล้ว ไฟล์.css จะถูกอ่านจากบนลงล่าง หากคุณเขียนซ้ำ class เดิม อันที่อยู่ด้านล่าง จะถูกทำเป็นลำดับสุดท้าย เช่น

.test{
color:red;
}
.test{
color:blue;
}

เมื่อคุณเรียกใช้คลาส ในhtml เช่น <div class=”test”> test test </div> จะได้ตัวหนังสือ [...]

สร้างเว็บไซต์แบบ Tableless

Tableless คืออะไร? หลายคนอาจจะสงสัยเมื่อได้ยินคำนี้เป็นครั้งแรก ถ้าแปลกันแบบกำปั้นทุบดินก็จะมีความหมายว่า “ไม่มีตาราง” แต่เมื่อคำว่า Tableless ปรากฎอยู่ในเรื่องของการสร้างเว็บไซต์ เราก็พอที่จะแปลความหมายของคำว่า Tableless ได้ว่า เป็น “การพัฒนาเว็บไซต์โดยไม่ใช้ตาราง” นั้นเอง

แต่เดิมที่นักพัฒนาเว็บหลายคนคงใช้แท็ก <table> ในการจัดการโครงสร้างของเว็บ ซึ่งจริงๆ แล้วตารางควรจะถูกใช้เมื่อต้องการนำเสนอข้อมูลที่เป็นกลุ่มก้อนมากกว่า เช่น การแสดงรายการผลสอบของวิชาหนึ่ง หากเราจัดข้อมูลใส่ในตาราง ผลที่ได้ก็จะประกอบด้วยคอลัมน์ของ รหัสนักเรียน ชื่อนักเรียน คะแนนที่ได้ หรือเกรดที่ได้ ส่วนการควบคุมการแสดงผลอื่นๆ เราก็ใช้ eXtensible HyperText Markup Language (XHTML) และ Cascading Style Sheets (CSS) แทนนั้นเอง

สำหรับเทคนิค Tableless นี้ บางคนก็เรียกว่า Tableless layout หรือไม่ก็ CSS Layout เพราะเราจะใช้ CSS เข้ามาแสดงบทบาทแทนที่ตารางในการจัดการโครงสร้างเว็บไซต์ โดย CSS นั้นจะทำการควบคุมแท็กต่างๆ เช่น [...]

ฟังก์ชัน javascript เช็คความกว้างของ TextBox แบบ Multiline

function Count(text,long) {

var maxlength = new Number(long); // Change number to your max length.

if (text.value.length > maxlength){

text.value = text.value.substring(0,maxlength);

alert(” Only ” + long + ” chars”);

}

}