Restituisce il modello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato.
Assembly: System.Web.DynamicData (in System.Web.DynamicData.dll)
<ExtensionAttribute> _ Public Shared Function FindFieldTemplate ( _ control As Control, _ columnName As String _ ) As Control
public static Control FindFieldTemplate( this Control control, string columnName )
[ExtensionAttribute] public: static Control^ FindFieldTemplate( Control^ control, String^ columnName )
static member FindFieldTemplate : control:Control * columnName:string -> Control
Parametri
- control
- Tipo: System.Web.UI.Control
Controllo contenitore.
- columnName
- Tipo: System.String
Nome della colonna.
Valore restituito
Tipo: System.Web.UI.ControlModello di campo per la colonna specificata nel contenitore di denominazione del controllo specificato.
Nota sull'utilizzo
In Visual Basic e C# è possibile chiamare questo metodo come metodo di istanza su qualsiasi oggetto di tipo Control. Per chiamare il metodo utilizzando la sintassi del metodo di istanza, omettere il primo parametro. Per ulteriori informazioni, vedere Metodi di estensione (Visual Basic) o Metodi di estensione (Guida per programmatori C#).Nell'esempio seguente viene illustrato come trovare il controllo casella di testo per un nome di colonna specificato. Nell'esempio i modelli di pagina Dynamic Data vengono copiati nella cartella \DynamicData\CustomPages\ProductDescriptions per fornire una visualizzazione personalizzata della tabella ProductDescription del database AdventureWorksLT. Il markup del file Insert.aspx viene modificato per aggiungere un gestore eventi OnDataBound denominato DetailsView1_DataBound, in cui viene chiamato il metodo FindDataSourceControl per trovare un controllo casella di testo.
using System; using System.Data; using System.Configuration; using System.Collections; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Xml.Linq; using System.Web.DynamicData; public partial class Insert : System.Web.UI.Page { protected MetaTable table; protected void Page_Init(object sender, EventArgs e) { DynamicDataManager1.RegisterControl(DetailsView1); } protected void Page_Load(object sender, EventArgs e) { table = DetailsDataSource.GetTable(); Title = table.DisplayName; } protected void DetailsView1_DataBound(object sender, EventArgs e) { var dsc = DetailsView1.FindDataSourceControl() as LinqDataSource; if (dsc == null || dsc.EnableInsert != true) return; var mTbl = DetailsView1.FindMetaTable() as MetaTable; if (mTbl != null) LblMetaTbl.Text = "Column count = " + mTbl.Columns.Count.ToString(); var fldTmpUsrCtl = DetailsView1.FindFieldTemplate("Description") as FieldTemplateUserControl; if (fldTmpUsrCtl != null) { var entryFldDescript = fldTmpUsrCtl.DataControl as TextBox; entryFldDescript.Text = "(Enter short Description here.)"; } var fldTmpUsrCtl2 = DetailsView1.FindFieldTemplate("ModifiedDate") as FieldTemplateUserControl; if (fldTmpUsrCtl2 != null) { var entryFldModDate = fldTmpUsrCtl2.DataControl as TextBox; entryFldModDate.Text = System.DateTime.Now.Date.ToShortDateString(); } } protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e) { if (e.CommandName == DataControlCommands.CancelCommandName) { Response.Redirect(table.ListActionPath); } } protected void DetailsView1_ItemInserted(object sender, DetailsViewInsertedEventArgs e) { if (e.Exception == null) { Response.Redirect(table.ListActionPath); } } } ... <%@ Page Language="C#" MasterPageFile="~/Site.master" CodeFile="Insert.aspx.cs" Inherits="Insert" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <asp:DynamicDataManager ID="DynamicDataManager1" runat="server" AutoLoadForeignKeys="true" /> <h2> DynamicData\CustomPages\ProductDescriptions\Insert.aspx <%= table.DisplayName %></h2> <p> <asp:Label ID="LblMetaTbl" runat="server" Text="Label"></asp:Label> </p> <asp:ScriptManagerProxy runat="server" ID="ScriptManagerProxy1" /> <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" HeaderText="List of validation errors" /> <asp:DynamicValidator runat="server" ID="DetailsViewValidator" ControlToValidate="DetailsView1" Display="None" /> <asp:DetailsView ID="DetailsView1" runat="server" DataSourceID="DetailsDataSource" DefaultMode="Insert" AutoGenerateInsertButton="True" OnItemCommand="DetailsView1_ItemCommand" OnItemInserted="DetailsView1_ItemInserted" CssClass="detailstable" FieldHeaderStyle-CssClass="bold" OnDataBound="DetailsView1_DataBound"> </asp:DetailsView> <asp:LinqDataSource ID="DetailsDataSource" runat="server" EnableInsert="true"> </asp:LinqDataSource> </asp:Content>
.NET Framework
Supportato in: 4, 3.5 SP1Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2
.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.