簡體   English   中英

如何以編程方式添加TemplateField

[英]How to add TemplateField programmatically

請考慮以下代碼:

<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#以編程方式添加此列?

謝謝

這可能有助於入門:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM