ลุกเป็นไฟ!
var html = "";
html += "<table class='colorful'>";
foreach(var item in collection) {
html += "<tr>";
html += "<td class='boldCell'>" + item.PropWhatever + "</td>";
// more cells here as needed
html += "</tr>";
}
html += "</table>";
placeholder1.InnerHtml = html;
ฉันจะ prob ลง downvote นี้ แต่ในฐานะนักออกแบบอดีตที่ต้องบิด HTML ในรหัสก่อนที่ฉันจะรู้มากเกี่ยวกับ. NET รหัสข้างต้นเป็นวิธีที่เข้าใจง่ายกว่าวิธีการสร้าง HTML นามธรรม หากคุณคิดว่านักออกแบบอาจต้องปรับแต่ง HTML ของคุณให้ใช้สตริงแบบนี้
สิ่งที่ฉันเห็น devs จำนวนมากพลาดเมื่อพวกเขาเขียน HTML ในรหัสคือใน HTML อนุญาตให้ใช้เครื่องหมายคำพูดเดี่ยวหรือคู่สำหรับแอตทริบิวต์ ดังนั้นแทนที่จะหลบเลี่ยงเครื่องหมายคำพูดทั้งหมดในโค้ด (ซึ่งดูแปลกประหลาดเหมือนนรกกับผู้ที่ไม่ได้เริ่มต้น) เพียงแค่ใช้เครื่องหมายคำพูดเดี่ยวสำหรับคำพูด html ภายในสตริงของคุณ
ละเอียด. สิ่งที่คุณเกลียดชัง concatenating สตริงเป็นตัวแทนของฉัน crampin ต่อไปนี้เป็นวิธี 'เหมาะสม' ในการทำเช่นนี้โดยไม่มีการต่อสตริง แต่ฉันแสดงความเห็นว่าหน้าปกติใด ๆ ที่มีตารางปกติจะไม่นำเสนอปัญหาด้านประสิทธิภาพใด ๆ
var sb = new System.Text.StringBuilder();
sb.Append("<table class='colorful'>");
foreach (var item in collection)
{
sb.Append("<tr>");
sb.Append("<td class='boldCell'>" + item.PropWhatever + "</td>");
// more cells here as needed
sb.Append("</tr>");
}
sb.Append("</table>");
placeholder1.InnerHtml = sb.ToString();