ฉันได้โปรแกรมทั้ง ASP คลาสสิกและ ASP.NET และฉันเห็นแท็กต่าง ๆ ภายในมาร์กอัปสำหรับโค้ดฝั่งเซิร์ฟเวอร์
ฉันเพิ่งเจอบล็อกที่ดีใน MSDNที่ไปกว่าความแตกต่างระหว่าง:
<%=
(เปอร์เซ็นต์พร้อมเครื่องหมายเท่ากับ) และ<%#
(เครื่องหมายเปอร์เซ็นต์และ hash / ปอนด์ / octothorpe)
( <%#
ประเมินเฉพาะที่ databind และ<%=
ประเมินที่เรนเดอร์) แต่ฉันก็เห็น:
<%$
(เครื่องหมายเปอร์เซ็นต์และดอลลาร์) และ<%@
(เครื่องหมายเปอร์เซ็นต์และที่สัญลักษณ์)
ฉันเชื่อว่า<%@
โหลดสิ่งต่าง ๆ เช่นชุดประกอบและอาจ<%$
โหลดจากไฟล์กำหนดค่าหรือไม่ ฉันก็ไม่แน่ใจเหมือนกัน
ฉันแค่สงสัยว่าถ้าใครสามารถอธิบายทั้งหมดนี้ให้ฉันและอาจอธิบายได้ว่าทำไมมันเป็นสิ่งสำคัญในการสร้างแท็กต่าง ๆ มากมายที่ดูเหมือนว่ามีจุดประสงค์ที่คล้ายกัน?
72
ฉันดีใจที่คุณถามเพราะมันเป็นเรื่องยากมากที่จะ google;)
—
นิโคลัส Dorier
เป็นไปไม่ได้กับ Google!
—
jdbosley
<%#
มักจะใช้กับeval
, แต่มันไม่จำเป็นต้อง: คุณสามารถใช้มันเพื่อรันโค้ดด้านเซิร์ฟเวอร์ใด ๆ , โดยที่คุณต้องรันPage.DataBind()
บนเพจที่มีหรือเพจต้นแบบ. มันดูเหมือนว่านี้เป็นตัวเลือกเดียวของคุณในกรณีที่คุณต้องการที่จะ "ฉีด" รหัสด้านเซิร์ฟเวอร์เข้าไปในลักษณะของการควบคุมด้านเซิร์ฟเวอร์เช่น<asp:TextBox
, หรือแม้กระทั่ง<asp:LinkButton
<input runat="server">
@jdbosley ฉัน googled
—
Rudey
"<%=" "<%:""<%@" "<%#"
และส่งฉันมาที่นี่
@RuudLenders โชคดีสำหรับคุณและ Google เป็นคนดี ในปี 2014 การค้นหาแท็กเหล่านั้นไม่ได้ผลลัพธ์ที่มีคุณภาพดี
—
jdbosley