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