簡體   English   中英

asp:literal 控件是否有自動格式化?

[英]Is there automatic formatting for an asp:literal control?

有沒有辦法自動格式化string以將文字插入 JavaScript 代碼?

假設您的頁面中有這個:

<script type="text/javascript">
    var strvar = <asp:Literal runat="server" id="ltrStrvar"></asp:Literal>;
</script>

在您的服務器端代碼中:

protected void Page_Load(object sender, EventArgs e) {
    ltrStrvar.Text = "hello \"world\"";
}

有沒有辦法自動讓它轉義字符串並用引號將其括起來以無錯誤地插入到 JavaScript 中,所以我所要做的就是使用任意字符串設置Text屬性? 我知道如何手動完成,但正在尋找更優雅的解決方案。

您可以創建一個自定義的LiteralWithQuotationMarks用戶控件,該控件在內部使用Literal控件並在缺少引號時將其括起來。

你可以這樣做:

public string sanitizeJavascriptString(string dirtyInput)
{
    return dirtyInput.Replace("\\", "\\\\")
        .Replace("\"", "\\\"")
        .Replace("'","\\'");
}

我不知道是否有現有的轉義功能,但我對此表示懷疑。 我也不是 100% 確定還需要轉義什么,但我假設您可以添加其他字符,如果您知道它們是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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