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

标签 asp.net entity-framework gridview hyperlink

我希望我能解释清楚:

我有一个仅显示来自 EntityDataSource 的 ID 和名称字段的 GridView。

我想添加第三列,其中包含与每个 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>

关于asp.net - 从 GridView 中的 2 列动态生成超链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7799989/

相关文章:

javascript - ajax 调用 mvc 操作中的空数据

c# - 在 Entity Framework 中保存实体的通用方法

c# - 如何使用空格执行 linq 搜索

c# - 如何以编程方式将 Gridview 添加到 UpdatePanel

asp.net - asp.net 中的条件正则表达式验证器

c# - 我可以用用户输入创建一个 t4 文件吗?

c# - 强制 IE 在新窗口中打开下载

c# - 左加入 Linq 查询

java - 将 GridView 转换为一行

php - Yii2 初始 Gridview 在 ModelSearch 中搜索