[英]Problems using a StringBuilder to construct HTML in C#
我有形成HTML字符串的這一行代碼:
StringBuilder builder = new StringBuilder();
builder.Append("<a href='#' onclick=");
builder.Append((char)22); //builder.Append('\"');
builder.Append("diagnosisSelected('" + obj.Id + "', '" +obj.Name + "')");
builder.Append((char)22);
builder.Append(" >" + obj.Name + "</a>");
在瀏覽器中我得到
<a href='#' onclick=\"diagnosisSelected('id', 'text')\" >some text here</a>
並由於\\“出現錯誤。如何輸出”?
有趣的是,我看到人們使用StringBuilder多少次卻完全錯過了他們的觀點。 StringBuilder上還有另一個方法叫AppendFormat,它將在這里為您提供很多幫助:
builder.AppendFormat("<a href='#' onclick=\"foo('{0}','{1}')\">{2}</a>", var1, var2, var3);
希望這可以幫助,
用一個 \\”
引號是特殊字符,因此必須在其前面加上反斜杠來“轉義”它們。
即代替
builder.Append((char)22);
采用
builder.Append("\"");
在雙引號字符串內, \\
是轉義字符。 要僅插入"
,可以使用"\\""
。
替換以下行:
builder.Append((char)22);
與
builder.Append(“ \\”“);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.