Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

DynamicDataExtensions.FindMetaTable, méthode (Control)

 

Retourne l'objet Metatable pour le contrôle de données conteneur.

Espace de noms:   System.Web.DynamicData
Assembly:  System.Web.DynamicData (dans System.Web.DynamicData.dll)

public static MetaTable FindMetaTable(
	this Control current
)

Paramètres

current

Contrôle actuel.

Valeur de retour

Type: System.Web.DynamicData.MetaTable

Objet Metatable pour le contrôle de données conteneur.

L'exemple suivant montre comment rechercher l'objet MetaTable pour un contrôle.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 FindMetaTable est appelée pour rechercher l'objet MetaTable.

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);
        }
    }
}

.NET Framework
Disponible depuis 3.5
Retour au début
Afficher: