0

.NET の .NET を使用して動的に生成されるファイル名のリストがありますDirectory.Enumerate。アポストロフィを含むファイルを表示してレンダリングしようとすると、文字列が'. string.replace を使用してみましたが、役に立ちません。一例は\\shared_directory\PDFs\Resumes\...\O'Greene_Rick G.pdfです。PDF.js を使用してファイルを開こうとすると、エラーが発生しますMessage: Unexpected server response (0) while retrieving PDF "http://shared_directory/Uploads/Resumes/.../O/"

JavaScript

 $('.file').on('click touchend', function (e) {
        e.preventDefault();
        if ($(this).hasClass('disabled'))
            return;
        var path = $(this).data('path').replace(/'/g, "\\'").replace("\\\\", "http://").replace("@pdfFolder", "Uploads");

cshtml

 foreach (var file in combinedFiles.OrderBy(f=> Path.GetFileNameWithoutExtension(f)).Where(f => Path.GetFileName(f).ToUpper().ToCharArray()[0] == letter))
 {
    <li class="file" data-path="@file" data-lastname="@Path.GetFileNameWithoutExtension(file).Split('_').Last() " data-name="@Path.GetFileNameWithoutExtension(file).Split('_').First() ">@Truncate(Path.GetFileNameWithoutExtension(file).Replace("_", ", "), 27)</li>
 }

生成された html アイテム

<li class="file" data-path="\\shared_directory\PDFs\Resumes\O'Greene_Rick G.pdf" data-lastname="Rick G " data-name="O'Greene ">O'Greene, Rick G</li>
4

1 に答える 1

1

に置き換えることで解決できまし'%27

data-path="@file.Replace("'","%27")" 
于 2016-06-22T17:59:32.373 に答える