VS2010 で C# の Web ページを作成しています。
データベースから取り込まれたグリッドビューがあります。gridview 列をロードする際に、ファイルのローカル アドレスを取得し、ローカル ファイルが存在するサーバー名を指定します。したがって、そのローカル パスが E:/secureDocs/depositions/file a.pdf の場合、誰のコンピュータでも使用できるパスは \\dmzwimkeweb01\securedocs\depostions\file a.pdf です。
<Columns >
<asp:BoundField DataField="docTypeName" HeaderText="Type" />
<asp:TemplateField HeaderText="Name" >
<ItemTemplate>
<a href='<%#Utility.Clean(((String)Eval("docPath")).Replace("e:", "\\dmzwimkeweb01")) %>'><%# ((String)Eval("docname")).Replace("|^||^||^||^||^||^||^||^|", "'")%></a>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="pageName" HeaderText="Folder" />
<asp:BoundField DataField="docCreateDate" HeaderText="Date" HtmlEncode="false" DataFormatString="{0:MM/dd/yyyy}" />
</Columns>
ただし、列に移動するリンクをクリックすると、h_ttp://dmzwimkeweb01/secureDocs/depositions/file%20a.pdf に移動します。
そのため、スラッシュは間違った方法になり (これが問題かどうかはわかりません)、ネットワーク上のサーバーへのリンクである必要があるときに「http://」に移動し、スペースがある場所に %20 を配置しますファイル名に。また、リンクをクリックすると、pdf リーダーを開く代わりに IE で開こうとします。
繰り返しますが、リンクを次のようにしたいのです: \\dmzwimkeweb01\securedocs\depostions\file a.pdf