Asp.net 从GridView中的两列动态生成超链接

Asp.net 从GridView中的两列动态生成超链接,asp.net,entity-framework,gridview,hyperlink,Asp.net,Entity Framework,Gridview,Hyperlink,我希望我能解释清楚: 我有一个GridView,它只显示EntityDataSource中的ID和Name字段 我想添加第三列,该列将包含与每个ID对应的动态生成的超链接 但是,这些超链接的navigateurl只能通过连接与ID对应的两个其他字段(未显示)来获得 假设我的数据源具有以下数据: [ID] [Name] [Path] [FileName] 1 ABC path1 file1 2 XYZ path2 file2 我想看到以下gridview,其超链接

我希望我能解释清楚:

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

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

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

假设我的数据源具有以下数据:

[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表单应用程序,其中实体类是从数据库反向工程的。但是,我向一个分部类添加了一个只读属性。但我无法访问它。下面是我添加到实体类中的内容

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

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

在代码隐藏中使用类似的方法:

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>

下载!

感谢您的编辑。验证MyEntity的两个部分是否在同一命名空间中。