我需要将一个 URL 从 C# 传递给 javascript。问题是如果文件名有单引号,它不会执行 javascript。当我使用 HttpUtility.HtmlEncode(fileNameWithoutEx) 时,它会执行 javascript,但如果文件名是“大卫出生证明的副本”,那么 URL 会转换为 ?View.aspx?length=60&ext=pdf&file=大卫的副本' 出生证明。
当 View.aspx 尝试获取查询字符串文件时,即;文件名,它被设置为“大卫的副本”而不是“大卫的出生证明的副本”。因为 & 它没有得到查询字符串的其余部分。
if (System.IO.File.Exists(fileLocation)) {
string fileNameWithoutExt = System.IO.Path.GetFileNameWithoutExtension(fileLocation);
string fileExtension = System.IO.Path.GetExtension(fileLocation).Replace(".", "");
string title = System.IO.Path.GetFileNameWithoutExtension(fileName);
string url = "View?length=" + 60+ "&ext=" + fileExtension + "&file=" + fileNameWithoutExt;
ScriptManager.RegisterStartupScript(this, GetType(), "ShowPDF", "$(document).ready(function(){ShowPDFDocument('" + title + "', '" + url + "');});", true);
}
如何将带有单引号的 url 发送到 javascript?
处理 ' 和其他特殊字符的最佳方法是什么?