本文介绍了如何以编程方式添加 TemplateField的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
请考虑这个代码:
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton runat="server" ID="linkmodel" Text='<%#Eval("MenuItem") %>'
CommandName='<%#Eval("CommandName") %>'
OnCommand="linkmodel_Click"
OnClientClick="return confirm('Are You Sure')">
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
如何使用 C# 以编程方式添加此列?
How to add this column programmatically using C#?
谢谢
推荐答案
这可能有助于开始:
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
这篇关于如何以编程方式添加 TemplateField的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!