我有这行代码形成一个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>");
Run Code Online (Sandbox Code Playgroud)
在我得到的浏览器中
<a href='#' onclick=\"diagnosisSelected('id', 'text')\" >some text here</a>
Run Code Online (Sandbox Code Playgroud)
因为"我得到一个错误".我怎么能输出一个?
x0n*_*x0n 11
有趣的是,有多少次我看到人们使用StringBuilder却完全忽略了它们的重点.StringBuilder上有另一个名为AppendFormat的方法,它可以帮到你很多:
builder.AppendFormat("<a href='#' onclick=\"foo('{0}','{1}')\">{2}</a>", var1, var2, var3);
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助,
用一个 \"
引号是特殊字符,因此必须通过在它们前面加一个反斜杠来"转义"它们.
即代替
builder.Append((char)22);
Run Code Online (Sandbox Code Playgroud)
使用
builder.Append("\"");
Run Code Online (Sandbox Code Playgroud)