C# から JavaScript に URL を渡す必要があります。問題は、ファイル名に一重引用符が含まれていると、javascript が実行されないことです。HttpUtility.HtmlEncode(fileNameWithoutEx) を使用すると JavaScript が実行されますが、ファイル名が「David の出生証明書のコピー」の場合、URL は ?View.aspx?length=60&ext=pdf&file=Copy of David' に変換されます。出生証明書。
View.aspx がクエリ文字列ファイルを取得しようとしたとき。ファイル名を変更すると、「David の出生証明書のコピー」ではなく「David のコピー」に設定されます。& のため、残りのクエリ文字列は取得されません。
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に送信するにはどうすればよいですか?
' やその他の特殊文字を処理する最良の方法は何ですか?