问问题
4203 次
5 回答
2
正确的做法是添加一个链接按钮,将其拖放到页面中,然后转到该按钮的属性并添加 OnClick 方法,也就是在后面的代码上创建一个自动化功能,在其中运行 DownloadFile
于 2012-11-13T17:15:13.190 回答
1
1)尝试使用LinkButton。
2)你不能传回参数,你必须在服务器上获取数据。
于 2012-11-13T17:15:27.517 回答
1
如果您对它必须直接作为锚标记这一事实很灵活,并且不介意将其创建为“按钮”,则可以使用以下内容:
如果没有,这里有一个使用 JavaScript 和回发来实现类似功能的解决方案。我个人认为使用上述按钮解决方案会更灵活,更接近你想要的。
于 2012-11-13T17:17:48.987 回答
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 回答
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 回答