J'essaye de développer un contrôle de serveur personnalisé basé sur un modèle très simple qui ressemble à GridView. Au fond, je veux que le contrôle à ajouter dans la page .aspx comme ceci:Comment créer un contrôle serveur ASP.NET personnalisé basé sur un modèle GridView comme un gabarit
<cc:SimpleGrid ID="SimpleGrid1" runat="server">
<TemplatedColumn>ID: <%# Eval("ID") %></ TemplatedColumn>
<TemplatedColumn>Name: <%# Eval("Name") %></ TemplatedColumn>
<TemplatedColumn>Age: <%# Eval("Age") %></ TemplatedColumn>
</cc:SimpleGrid>
et lors de la fourniture de la source de données suivante:
DataTable table = new DataTable();
table.Columns.Add("ID", typeof(int));
table.Columns.Add("Name", typeof(string));
table.Columns.Add("Age", typeof(int));
table.Rows.Add(1, "Bob", 35);
table.Rows.Add(2, "Sam", 44);
table.Rows.Add(3, "Ann", 26);
SimpleGrid1.DataSource = table;
SimpleGrid1.DataBind();
le résultat devrait être une table HTML comme celui-ci.
-------------------------------
| ID: 1 | Name: Bob | Age: 35 |
-------------------------------
| ID: 2 | Name: Sam | Age: 44 |
-------------------------------
| ID: 3 | Name: Ann | Age: 26 |
-------------------------------
Le problème principal est que je ne peux pas définir le ColonneModèle. Quand j'ai essayé de le faire comme ça ...
private ITemplate _TemplatedColumn;
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(TemplatedColumnItem))]
[TemplateInstance(TemplateInstance.Multiple)]
public ITemplate TemplatedColumn
{
get { return _TemplatedColumn; }
set { _TemplatedColumn = value; }
}
.. et ensuite instancier le modèle dans les CreateChildControls je suis arrivé le résultat suivant qui est pas ce que je veux:
-----------
| Age: 35 |
-----------
| Age: 44 |
-----------
| Age: 26 |
-----------
- I Je sais que ce que je veux réaliser est inutile et que je peux utiliser DataGrid pour y arriver, mais je donne cet exemple très simple car si je sais comment faire cela, je serais capable de développer le contrôle dont j'ai besoin. Je vous remercie.
J'ai lu cet article mais cela n'aide pas. Cet article explique comment développer un contrôle personnalisé avec différents modèles tels que ItemTemplate et HeaderTemplate ou comment tout mettre dans un ItemTemplate. Mon problème est que j'ai le même modèle utilisé plusieurs fois donc cet article ne m'aide pas. – Deyan