加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 从GridView中的2列动态生成超链接

发布时间:2020-12-16 09:23:09 所属栏目:asp.Net 来源:网络整理
导读:我希望我能清楚地解释一下: 我有一个GridView,它只显示EntityDataSource中的ID和Name字段. 我想添加第三列,其中包含与每个ID对应的动态生成的超链接. 但是,这些超链接的导航只能通过连接与ID对应的两个其他字段(未显示)来获得. 假设我的DataSource有以下数
我希望我能清楚地解释一下:

我有一个GridView,它只显示EntityDataSource中的ID和Name字段.

我想添加第三列,其中包含与每个ID对应的动态生成的超链接.

但是,这些超链接的导航只能通过连接与ID对应的两个其他字段(未显示)来获得.

假设我的DataSource有以下数据:

[ID] [Name] [Path] [FileName]
 1    ABC    path1  file1
 2    XYZ    path2  file2

我想看到以下gridview,超链接构造为:

|ID | NAME | Hyperlink      |             
----------------------------|                
 1  | ABC  | path1/file1.pdf|
 2  | XYZ  | path2/file2.pdf|

如何从2列构建超链接?

我正在做一个ASP.NET Web表单应用程序,从数据库中反向设计实体类.但是,我向部分类添加了只读属性.但是我无法访问它.这是我添加到Entities类的内容

public partial class MyEntity 
{ 
   public string FilePath 
   { 
      get { return string.Format("{0}/"{1}.pdf",this.FileName,this.FilePath); } 
   } 
}

我是否需要在其他位置添加任何代码才能访问此只读属性?

解决方法

在后面的代码中使用somethimg:

protected string GetLink(object oPath,object oFileName) {
    return string.Format("~/{0}/{1}.pdf",oPath.ToString(),oFileName.ToString());
}

在gridview专栏的aspx页面中,使用:

<asp:TemplateField><ItemTemplate>
    <asp:HyperLink ID="h1" runat="server" NavigateUrl='<% GetLink(Eval("Path"),Eval("FileName")) %>'>Download!</asp:HyperLink>
</ItemTemplate></asp:TemplateField>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读