Comment autoriser mon contrôle contient un texte à l'intérieur de ses balises? Mon contrôle contient une table complexe et je veux mettre du texte dans l'une des cellules. Comment faire ça?Le contenu littéral n'est pas autorisé dans un UserControl
7
A
Répondre
7
[PersistChildren(false)]
[ParseChildren(true, "Text")]
public partial class RequiredFieldMarker : UserControl, ITextControl
{
[Category("Settings")]
[PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
public string Text
{
get
{
return lblName.Text;
}
set
{
lblName.Text = value;
}
}
}
2
ont une propriété sur votre contrôle utilisateur appelé Text
et définir que comme
<uc:My id="my" Text="some text" runat="server">Text</uc:My>
ou côté serveur
my.Text = "some text";
1
En supposant que l'UC génère une table, la méthode la plus simple que je peux penser est ceci:
Dans le ascx du UserControl faire quelque chose comme ceci:
<table>
<tr>
....
<td><asp:Literal runat="server" ID="ltCellContent" /></td>
....
</tr>
</table>
Dans le code de UserControl derrière:
public string CellContent
{
get { return ltCellContent.Text; }
set { ltCellContent.Text = value; } }
}
Et pour l'utiliser:
<uc:My runat="server" CellContent="Some content" />
1
Il suffit d'ajouter une ligne avant la classe ([ParseChildren (true, "TestInnerText")]) et ajoutez une propriété nommée "TestInnerText". Créer un contrôle de votre choix, j'ai créé LiteralControl juste pour afficher la vue html interne. "TestInnerText" - est juste un nom temporaire que j'ai donné, vous pouvez utiliser n'importe quel nom de propriété de votre choix.
Faites le changement suivant dans my.aspx.cs fichier,
[ParseChildren(true, "TestInnerText")]
public partial class My : UserControl
{
public string TestInnerText
{
set
{
LiteralControl lc = new LiteralControl();
lc.Text = value;
this.Controls.Add(lc);
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
}
Questions connexes
- 1. Le contenu n'est pas autorisé dans prolog
- 2. XML: le contenu n'est pas autorisé dans la section
- 3. XML/PHP: Le contenu est pas autorisé dans Prolog
- 4. Comment lire le contenu littéral d'un PlaceHolder?
- 5. à propos SAXParseException: le contenu n'est pas autorisé en Prolog
- 6. Impossible d'obtenir le contenu interne de '' car le contenu n'est pas littéral
- 7. Définir le contenu de System.Windows.Controls.WebBrowser sur un littéral HTML statique?
- 8. Contrôle personnalisé ASP.NET - Modèle autorisant le contenu littéral
- 9. Java Stack/Nest Count
- 10. UserControl n'apparaît pas dans le mélange
- 11. Pourquoi # n'est pas autorisé dans un identifiant?
- 12. Visual Studio Avertissement "Le contenu n'est pas autorisé" dans le projet ASP.NET
- 13. Le contenu de ICEFaces n'est pas autorisé dans le prologue. Erreur
- 14. Silverlight4 + C#: Utiliser INotifyPropertyChanged dans un UserControl pour notifier un autre UserControl ne le signale pas
- 15. Ignorer "Le contenu n'est pas autorisé dans la section finale" SAXException
- 16. VisualStates UserControl n'apparaissent pas dans le Blend
- 17. Littéral dans le code derrière
- 18. Portée dans un objet littéral
- 19. Access 2007 Nest requête parameterful
- 20. EF dans un UserControl ne peut pas voir le app.config?
- 21. TextBox dans UserControl ne s'affiche pas correctement
- 22. UserControl dans le fichier txt
- 23. Désactiver la journalisation dans Java Xerces ("[Erreur fatale]: 1: 1: le contenu n'est pas autorisé dans le prologue.")
- 24. Usercontrol dans un Listview
- 25. HtmlPage.Document.QueryString dans un UserControl
- 26. Javascript - Remplacer le caractère d'échappement dans un littéral de chaîne
- 27. WPF: Comment éditer le contenu d'un DockPanel situé dans un UserControl?
- 28. UserControl avec contrôles enfants passés dans un répéteur dans le UserControl
- 29. WPF - Attribut de contenu par défaut UserControl
- 30. Le gestionnaire d'événements UserControl ne déclenche pas
Oui, cela est le moyen le plus facile. Mais je veux comprendre comment mettre en œuvre la tâche correctement. Comme asp: Label fait. – abatishchev
@abatishchev: Dans ce cas, vous devez examiner comment les contrôles personnalisés sont construits; Je recommande "Développer des contrôles et composants serveur Microsoft ASP.NET" par Nikhil/Datye, V. Kothari. – pbz
Lorsque j'essaie cela, je reçois 'ltCellContent n'existe pas dans le contexte actuel'. –