0

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("|^||^||^||^||^||^||^||^|", "&#39;")%></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

4

2 に答える 2

2

リンクをクリックした人は誰でもネットワーク ファイルの場所にアクセスできると仮定すると、リンクは次のようになります。

<a href="file:///dmzwimkeweb01/securedocs/depositions/file a.pdf">My link</a>

URL の仕様は Microsoft のパス仕様とは異なるため、スラッシュは実際に「間違った方向」に進みます。お役に立てれば!:)

于 2012-06-25T19:44:42.000 に答える
0

「smb://dmzwimkeweb01/securedocs/depostions/file a.pdf」を試しましたか

于 2012-06-25T19:43:25.833 に答える