反斜杠导致javascript中出现问题

时间:2014-12-13 07:16:20

标签: javascript c# asp.net escaping backslash

我在c#中生成了一些html,并使用数据库中的一些数据将其分配给aspx中的文字。 在下面的代码offtitle.Rows[off]["Offeringtitle"].ToString()中带有一个反斜杠'\'

的值
sb.Append("<li><a href=\"#\" onclick=\"popupIncSummary('");
sb.Append(offtitle.Rows[off]["Offeringtitle"].ToString());
sb.Append("')\">" );
sb.Append(offtitle.Rows[off]["Offeringtitle"].ToString());
sb.Append("</a></li>");

这个反斜杠在页面加载时导致javascript“未终止的字符串常量”出错。

请在这方面帮助我 感谢

1 个答案:

答案 0 :(得分:0)

下面是使用webforms渲染HTML而不是使用stringbuilder进行序列化的示例

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var tempList = new List<object>();
        tempList.Add(new { Title = "test" });
        Repeater1.DataSource = tempList;
        Repeater1.DataBind();
    }
}

在我们看来:

<asp:Repeater ID="Repeater1" runat="server">
    <ItemTemplate>
        <a href="#" onclick="popIncSummary(<%# Eval("title") %>)">
            <%# Eval("title") %>
        </a>
    </ItemTemplate>
</asp:Repeater>