簡體   English   中英

使用StringBuilder在C#中構造HTML時出現問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM