我希望我能解释清楚:
我有一个仅显示来自 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/