问题描述
需求是这样的,有一个下载按钮linkbutton,点击之后弹出问下下载框,然后想让该按钮改变颜色。目前试了下如果加了下载的代码就改变不了,如果没有加就可以改变。请问如何解决这个问题。代码如下:protectedvoidLinkButton1_Click(objectsender,EventArgse){LinkButton1.ForeColor=Color.Red;//改变按钮颜色Response.AddHeader("Content-Disposition","attachment;filename="+HttpUtility.UrlEncode("/Upload/电子地图方案.doc",System.Text.Encoding.UTF8));Response.ContentType="application/octet-stream";Response.WriteFile("E:\电子地图方案.doc");Response.End();}
前台代码:<asp:LinkButtonID="LinkButton1"runat="server"onclick="LinkButton1_Click">下载</asp:LinkButton>
解决方案
解决方案二:
这个一般用css或者js来实现比较好,毕竟是客户端那边的
解决方案三:
又一个把webform当单机版玩的小朋友webform里,你点击按钮后,IE会把页面发送给服务端,服务端处理完后再将结果返回给IE显示所以当然是在你下载完毕之前,按钮都不会改变颜色
解决方案四:
所以你应该像1楼说的那样,学学JS脚本,浏览器里执行的语言,不要把什么东西都放服务端代码里执行
解决方案五:
首先楼主要搞清楚这是html,只需要在客户端控制即可把这段放在aspx页面的<head>标签内<style>a.download:link{color:blue}/*未被访问的链接蓝色*/a.download:visited{color:red}/*已被访问过的链接红色*/a.download:hover{color:blue}/*鼠标悬浮在上的链接蓝色*/a.download:active{color:blue}/*鼠标点中激活链接蓝色*/</style>
在超链接上增加css样式CssStyle="download"<asp:LinkButtonID="LinkButton1"runat="server"CssStyle="download"onclick="LinkButton1_Click">下载</asp:LinkButton>
解决方案六:
引用4楼xhbmj的回复:
首先楼主要搞清楚这是html,只需要在客户端控制即可把这段放在aspx页面的<head>标签内<style>a.download:link{color:blue}/*未被访问的链接蓝色*/a.download:visited{color:red}/*已被访问过的链接红色*/a.download:hover{color:blue}/*鼠标悬浮在上的链接蓝色*/a.download:active{color:blue}/*鼠标点中激活链接蓝色*/</style>在超链接上增加css样式CssStyle="download"<asp:LinkButtonID="LinkButton1"runat="server"CssStyle="download"onclick="LinkButton1_Click">下载</asp:LinkButton>
谢谢大侠,按照您说的问题解决了。我把问题想复杂了。