2
首先:我知道这里已经有一些模糊的类似请求,但没有一个能完全解决我的问题,而且我在智慧的最后尝试着拼凑一个解决方案。动态创建一列数据表作为超链接
无论如何,所以我正在编写Web界面以从RESTful API获取一些信息。我生成一个数据表,我通过这样的gridview显示:
DataTable table = new DataTable();
table.Columns.Add("entry name");
table.Columns.Add("col1");
table.Columns.Add("col2");
table.Columns.Add("etc");
foreach(string name in GetNames())
{
DataRow row = table.NewRow();
row["name"] = name;
row["col1"] = SomeMethod(name);
row["col2"] = SomeOtherMethod(name);
row["etc"] = YouGetTheIdea(name);
table.Rows.Add(row);
}
GridView1.DataSource = table;
GridView1.DataBind();
到目前为止很好。我真正喜欢的是“名称”列是超链接,这样他们可以调用名称作为参数的方法;或者链接到一个网站,名称为URL,即这样的一部分:
"<a href:'www.example.com/" + name + ".csv'>" + name + "</a>"
我不能为我的生活弄清楚如何动态地,因为我想去做这些事情。您的帮助将不胜感激。谢谢。
未能由于愚蠢的错别字几次之后,我终于设法得到OnRowDataBound事件工作(如果这不是明显的:我我不是一个专家程序员)。这不太适用于调用另一种方法 - 我怀疑答案就在于通过编程添加按钮和相关的onclick列,但我很累,这个解决方案对于今天来说已经足够了:)感谢您的快速响应:) – alphasmart 2012-08-01 16:27:13
@alphasmart如果您需要关联的onclick,请查看[commandfield专栏](http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.commandfield.aspx)。 – Prescott 2012-08-01 16:31:00
虽然我几乎在每一步都想着“这样做一定有更好的方法”,但我终于明白了这一点。再次感谢 :) – alphasmart 2012-08-02 11:14:54