[英]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.