Ответ 1
Это может помочь начать:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
var linkField = new TemplateField();
linkField.ItemTemplate = new LinkColumn();
GridView1.Columns.Add(linkField);
}
}
class LinkColumn : ITemplate
{
public void InstantiateIn(System.Web.UI.Control container)
{
LinkButton link = new LinkButton();
link.ID = "linkmodel";
container.Controls.Add(link);
}
}
Но
Хотя вы можете динамически добавлять поля в элемент управления, привязанный к данным, это настоятельно рекомендуется, чтобы поля были статически объявлены, а затем показаны или скрытые, в зависимости от ситуации. Статическое объявление всех ваших полей уменьшает размер состояния представления для элемента управления, привязанного к родительским данным.
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatefield.templatefield.aspx