4

私のページの次の2つのコントロール:

<asp:LinkButton ID="OpenLB" runat="server" >Open</asp:LinkButton>
<asp:HyperLink ID="OpenHL" runat="server">Open</asp:HyperLink>

ページの読み込み中に次のように設定します。

OpenLB.PostBackUrl = @"file:\\web\documents-emails\doc1.docx";
OpenHL.NavigateUrl = @"file:\\web\documents-emails\doc1.docx";

OpenHLは機能し、単語ファイルを開きます。

OpenLBが機能しません。クリックすると、次のようなエラーポップアップが表示されます。

Windows InternetExplorerでファイル'file://web//documents-emails//doc1.docx'が見つかりません。パスまたはインターネットアドレスが正しいことを確認してください。

URLが違うか何かのようですが、どうすれば修正できますか?

4

4 に答える 4

6

LinkBut​​tonは、指定されたURLを使用してWebページをサーバーにポストバックすることで機能します。ボタンはハイパーリンクのスタイルで表示されますが、javascriptを使用して、指定されたURLでサーバーにフォームをポストバックします。file:ローカルファイルにPOSTできないため、URLで使用することはできません。HyperLinkはアンカーを作成するだけで、クリックされたときにブラウザの場所がURLに設定されます。

于 2010-03-05T19:37:40.230 に答える
2

AHyperLinkは、別のページまたはファイルにリンクするように設計されています。これは単に<a>タグのラッパーです。

ALinkButtonは、ページをポストバックし、サーバー側でイベントを発生させるように設計されています。

まず、それぞれの状況で正しいタイプのコントロールを使用していることを確認してください。

于 2010-03-05T19:46:23.730 に答える
0

単純に、ある場合はファイルに移動していて、有効なURLである必要があるときに、docxファイルに投稿するように要求している場合は期待どおりに開きます。

于 2010-03-05T19:37:16.737 に答える
0

リンクボタンのデフォルトの動作は、エンドユーザーがリンクをクリックしたことに応答してポストバックイベントを処理するためにaspxページにポストバックすることです。postbackurlはデフォルトでは空白であり、リンクが現在のページにポストバックすることを示します。postbackurlプロパティの設定は、クロスページポストバックを対象としています。この場合、別のapsxページでクリックイベントを処理します。

MSDNPostbackurlプロパティ

于 2010-03-05T19:46:19.127 に答える