0
4

5 に答える 5

2

正しい方法は、リンク ボタンをページにドラッグ アンド ドロップして追加し、このボタンのプロパティに移動して OnClick メソッドを追加することです。これにより、DownloadFile を実行するコード ビハインドで自動化関数も作成されます。

于 2012-11-13T17:15:13.190 に答える
1

直接アンカータグにする必要があるという事実に柔軟に対応でき、「ボタン」として作成することを気にしない場合は、次を使用できます。

コード ビハインド関数を呼び出すコード ビハインドの ASP.Net ボタン

そうでない場合は、JavaScript とポストバックを使用して同様の機能を実現するソリューションを次に示します。個人的には、上記のボタン ソリューションを使用する方がより柔軟で、必要なものに近いと思います。

div onclick イベントから分離コード関数を呼び出すことはできますか?

于 2012-11-13T17:17:48.987 に答える
1

1) LinkBut​​tonを使用してみてください。

2) 引数を返すことはできません。サーバーでデータを取得する必要があります。

于 2012-11-13T17:15:27.517 に答える
0

このJavaScriptをASPXページに配置します。

<script type="text/javascript">   
    function DownloadFile() {    
        document.getElementById(<%= DownloadFile.ClientID%>).click();
    }    
</script>

表示スタイルが非表示のdivタグ内にボタンを配置します。JavaScriptはページ上でボタンを見つけることができないため、ボタンの表示スタイルを非表示に設定しないでください。

<div style="display= hidden;">
    <asp:button id="DownloadFile" runat="server" />    
</div>

次に、<a>以下に示すようにタグを設定します。

<a href="javascript:DownloadFile();">link text</a>

次に、サブルーチンをasp:buttonのクリックイベントとして使用します

そうは言っても、asp:linkbuttonオプションを使用すると、コードが大幅に少なくなります。

于 2012-11-18T14:31:44.873 に答える
0

アンカー タグをサーバー コントロールとして使用する場合は、onServerClick イベントを設定する必要があります。アンカーにカスタム タグを追加して使用することができます。

<a id="hypDownload" href="javascript:void(0);" runat="server" onserverclick="DownloadFile()" filename="files/Notes.doc" forcedownload="true"></a>

Private Sub hypDownload_ServerClick(sender As Object, e As EventArgs) Handles hypDownload.ServerClick
    Dim filename As String = hypDownload.Attributes("filename") 'Also:  CType(sender, HtmlAnchor).Attributes("filename")
    Dim forcedownload As Boolean = hypDownload.Attributes("forcedownload").ToString().ToLower() = "true"
    DownloadFile(filename, forcedownload)
End Sub
于 2012-11-13T17:21:39.520 に答える