【问题标题】:Dynamically generate hyperlink from 2 columns in GridView从 GridView 中的 2 列动态生成超链接
【发布时间】:2011-12-09 15:25:52
【问题描述】:

希望我能解释清楚:

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

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

但是,这些超链接的navigationurl只能通过连接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 表单应用程序,其中实体类从数据库进行逆向工程。但是,我向部分类添加了一个只读属性。但我无法访问它。这是我添加到我的实体类中的内容

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

我是否需要在别处添加任何代码才能访问此只读属性?

【问题讨论】:

  • 感谢您的编辑。正在为此苦苦挣扎。
  • 验证 MyEntity 的 2 个部分是否在同一个命名空间中。

标签: asp.net entity-framework gridview hyperlink


【解决方案1】:

在后面的代码中使用这样的东西:

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>

【讨论】:

    猜你喜欢
    • 2018-05-17
    • 1970-01-01
    • 1970-01-01
    • 2012-10-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多