当前位置 : 主页 > 网络编程 > ASP >

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

来源:互联网 收集:自由互联 发布时间:2021-06-24
我希望我能清楚地解释一下: 我有一个GridView,它只显示EntityDataSource中的ID和Name字段. 我想添加第三列,其中包含与每个ID对应的动态生成的超链接. 但是,这些超链接的导航只能通过连接与
我希望我能清楚地解释一下:

我有一个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>
网友评论