问题描述
表数据是这个我想在datalist里面以超链接形式显示FilePath/FileName,2个字段,也就是代表文件超链接,可以下载。请问在显示部分该怎么写?
解决方案
解决方案二:
前台页面*.aspx页面源码:<asp:DataListID="DataList1"runat="server"><HeaderTemplate><table><tr><td>文件名称</td><td>点击下载</td></tr></HeaderTemplate><ItemTemplate><td><%#Eval("FileName")%></td><td><ahref='<%#MyFuntion(Eval("FilePath"),Eval("ClassID"))%>'target="_blank">这个是后台自定义函数</a></td></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:DataList>后台*.aspx.cs文件代码:publicpartialclasscctv:System.Web.UI.Page{///<summary>///后台自定义函数,访问类型也可以是public类型,参数全部使用object类型,想多少个就多少个,函数内部再把对应的参数强制转换为参数原本的数据类型///</summary>///<paramname="path"></param>///<paramname="id"></param>///<returns></returns>protectedstringMyFuntion(objectpath,objectid){stringfilePath="";if(path!=null){filePath="/123456/image/"+path.ToString();}if(id!=null){intclassID=Convert.ToInt32(id);//这里是示范,没意义}returnfilePath;}protectedvoidPage_Load(objectsender,EventArgse){}}
解决方案三:
引用1楼likevs的回复:
前台页面*.aspx页面源码:<asp:DataListID="DataList1"runat="server"><HeaderTemplate><table><tr><td>文件名称</td><td>点击下载</td></tr></HeaderTemplate><ItemTemplate><td><%#Eval("FileName")%></td><td><ahref='<%#MyFuntion(Eval("FilePath"),Eval("ClassID"))%>'target="_blank">这个是后台自定义函数</a></td></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:DataList>后台*.aspx.cs文件代码:publicpartialclasscctv:System.Web.UI.Page{///<summary>///后台自定义函数,访问类型也可以是public类型,参数全部使用object类型,想多少个就多少个,函数内部再把对应的参数强制转换为参数原本的数据类型///</summary>///<paramname="path"></param>///<paramname="id"></param>///<returns></returns>protectedstringMyFuntion(objectpath,objectid){stringfilePath="";if(path!=null){filePath="/123456/image/"+path.ToString();}if(id!=null){intclassID=Convert.ToInt32(id);//这里是示范,没意义}returnfilePath;}protectedvoidPage_Load(objectsender,EventArgse){}}
后台函数为什么这样写?还是只是例子而已?我是想调用表数据哦获取filepath和filename
解决方案四:
引用2楼omarlai的回复:
Quote: 引用1楼likevs的回复:
前台页面*.aspx页面源码:<asp:DataListID="DataList1"runat="server"><HeaderTemplate><table><tr><td>文件名称</td><td>点击下载</td></tr></HeaderTemplate><ItemTemplate><td><%#Eval("FileName")%></td><td><ahref='<%#MyFuntion(Eval("FilePath"),Eval("ClassID"))%>'target="_blank">这个是后台自定义函数</a></td></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:DataList>后台*.aspx.cs文件代码:publicpartialclasscctv:System.Web.UI.Page{///<summary>///后台自定义函数,访问类型也可以是public类型,参数全部使用object类型,想多少个就多少个,函数内部再把对应的参数强制转换为参数原本的数据类型///</summary>///<paramname="path"></param>///<paramname="id"></param>///<returns></returns>protectedstringMyFuntion(objectpath,objectid){stringfilePath="";if(path!=null){filePath="/123456/image/"+path.ToString();}if(id!=null){intclassID=Convert.ToInt32(id);//这里是示范,没意义}returnfilePath;}protectedvoidPage_Load(objectsender,EventArgse){}}后台函数为什么这样写?还是只是例子而已?我是想调用表数据哦获取filepath和filename
后台函数返回一个string,这个string就是你要的内容,自己拼写,要什么就拼成什么
解决方案五:
引用2楼omarlai的回复:
Quote: 引用1楼likevs的回复:
前台页面*.aspx页面源码:<asp:DataListID="DataList1"runat="server"><HeaderTemplate><table><tr><td>文件名称</td><td>点击下载</td></tr></HeaderTemplate><ItemTemplate><td><%#Eval("FileName")%></td><td><ahref='<%#MyFuntion(Eval("FilePath"),Eval("ClassID"))%>'target="_blank">这个是后台自定义函数</a></td></ItemTemplate><FooterTemplate></table></FooterTemplate></asp:DataList>后台*.aspx.cs文件代码:publicpartialclasscctv:System.Web.UI.Page{///<summary>///后台自定义函数,访问类型也可以是public类型,参数全部使用object类型,想多少个就多少个,函数内部再把对应的参数强制转换为参数原本的数据类型///</summary>///<paramname="path"></param>///<paramname="id"></param>///<returns></returns>protectedstringMyFuntion(objectpath,objectid){stringfilePath="";if(path!=null){filePath="/123456/image/"+path.ToString();}if(id!=null){intclassID=Convert.ToInt32(id);//这里是示范,没意义}returnfilePath;}protectedvoidPage_Load(objectsender,EventArgse){}}后台函数为什么这样写?还是只是例子而已?我是想调用表数据哦获取filepath和filename
这里的后台函数是给你前台调用的,你再仔细观察前台代码那,你绑定的数据源已作为参数传给后台函数了。别告诉我你不懂DataList控件怎么数据绑定,也不懂<%#Eval("FileName")%>这种表达式是什么哦,如果真是这样,那就得先去学习这方面的知识了
解决方案六:
参考: