Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
DynamicDataExtensions.FindFieldTemplate, méthode
Retourne le modèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié.
Assembly : System.Web.DynamicData (dans System.Web.DynamicData.dll)
Paramètres
- control
- Type : System.Web.UI.Control
Contrôle conteneur.
- columnName
- Type : System.String
Nom de la colonne.
Valeur de retour
Type : System.Web.UI.ControlModèle de champ pour la colonne spécifiée dans le conteneur d'attribution de noms du contrôle spécifié.
Remarque sur l'utilisation
En Visual Basic et C#, vous pouvez appeler cette méthode comme une méthode d'instance sur n'importe quel objet de type Control. Lorsque vous utilisez la syntaxe des méthodes d'instance pour appeler cette méthode, omettez le premier paramètre. Pour plus d'informations, consultez Méthodes d'extension (Visual Basic) ou Méthodes d'extension (Guide de programmation C#).L'exemple suivant indique comment rechercher le contrôle de zone de texte pour un nom de colonne spécifié. Dans l'exemple, les modèles de page Dynamic Data sont copiés dans le dossier \DynamicData\CustomPages\ProductDescriptions pour fournir un affichage personnalisé pour la table ProductDescription de la base de données AdventureWorksLT. La balise de fichier Insert.aspx est modifiée pour ajouter un gestionnaire d'événements OnDataBound nommé DetailsView1_DataBound, dans lequel la méthode FindDataSourceControl est appelée pour rechercher un contrôle de zone de texte.
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>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.