急!!!!!点击GridView,链接地址的问题
我现在想实现如下功能:
从数据库读取信息,显示在gridview中,大致形式如下:
文章1 2006.7.1
文章2 2006.7.2
文章3 2006.7.3
文章4 2006.7.4
然后点击各个文件名,弹出相应对话框,实现文章下载功能。
请问如何用代码设置文件的链接地址
如果用NavigateUrl,就都链接到一个地址去了
可是又不能直接用 <a href= "··· "> </a>
因为还会不断有新的文档添加进数据库
请问该如何解决
------解决方案--------------------NavigateUrl= <%#Eval( "ArticleID ", "download.aspx?id={0} ")%>
然后在download.aspx? 根据文章ID 取出来相对应的 下载部分字段,以及下载次数更新。
也可以直接绑定里面 <%#Eval( "DownloadURL ", "{0}%>
------解决方案--------------------ClientScriptManager cs = Page.ClientScript;
DataKey dk = GridView1.SelectedDataKey;
if (!cs.IsClientScriptBlockRegistered( "clientScript "))
{
// Form the script that is to be registered at client side.
String scriptString = " <script language=JavaScript> window.open( 'download.aspx?ID= " + dk.Value.ToString() + " ',window, ' ') ";
scriptString += " < ";
scriptString += "/ ";
scriptString += "script> ";
cs.RegisterClientScriptBlock(GetType(), "clientScript ", scriptString);
}
------解决方案--------------------以下id为数据库中的书名地址的字段,text为页面显示的文本
NavigateUrl= ' <%# "GW_gzxx.aspx?id= " + DataBinder.Eval(Container.DataItem, "id ") %> ' Text= ' <%# DataBinder.Eval(Container.DataItem, "书名 ") %> '>
------解决方案--------------------可以直接绑顶一个LinkButton <%#Eval( " ").ToString()%> 把要下载你程序的一个ID隐藏到一个字段
Button的事件根据ID取出要下载的地址.然后执行window.location.href= 'xxxxx '实现一个链接
就可以Download了