本文介绍了如何以编程方式添加 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的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-05 23:08
查看更多