Quelle est la manière la plus simple de définir le contenu d'un <asp:ContentPlaceHolder>
par programme? J'imagine mal de faire un appel Master.FindControl
?Définir le contenu ASP: ContentPlaceHolder par programme
Répondre
Si vous ajoutez des contrôles à une page vierge, vous effectuez Page.Controls.Add() .... non?
Si votre page hérite d'un MasterPage, alors vous devriez avoir un aspic: contrôle de contenu sur votre page avec une pièce d'identité, comme ceci:
<asp:Content runat="server" ID="myContent" ContentPlaceHolderID="masterContent">
</asp:Content>
Vous devriez être en mesure de faire référence dans votre behind et ajoutez tout ce que tu veux.
public void Page_Load(object sender, EventArgs e)
{
HtmlContainerControl div = new HtmlGenericControl("DIV");
div.innerHTML = "....whatever...";
myContent.Controls.Clear();
myContent.Controls.Add(div);
}
ne sais pas si cela fonctionne. – Shawn
Je sais que c'est vieux, mais techniquement, il devrait être nouveau HtmlGenericControl ("div"), HtmlContainerControl est abstrait et ne peut pas être créé (bien que vous puissiez convertir la variable "div" en ce type). – McGuireV10
@ McGuireV10 - merci ... et je suis tellement content d'avoir laissé des webforms derrière moi. – tvanfosson
J'utilise une méthode d'extension personnalisée qui recherche un contrôle (un espace réservé par exemple) récursive pour trouver le contrôle que vous êtes à la recherche par Id et le retourner. Vous pouvez ensuite remplir le contrôle renvoyé si nécessaire. Appelez ceci dans une boucle foreach en itérant sur votre liste de contrôles à remplir.
public static class ControlExtensions
{
/// <summary>
/// recursive control search (extension method)
/// </summary>
public static Control FindControl(this Control control, string Id, ref Control found)
{
if (control.ID == Id)
{
found = control;
}
else
{
if (control.FindControl(Id) != null)
{
found = control.FindControl(Id);
return found;
}
else
{
foreach (Control c in control.Controls)
{
if (found == null)
c.FindControl(Id, ref found);
else
break;
}
}
}
return found;
}
}
excuses pour le code C# - n'a pas vu le tag vb – flesh
- 1. Définir asp: Contenu par programme
- 2. Pourquoi asp: ContentPlaceHolder sur le titre remplace le titre entier?
- 3. Création d'un ASP: Bouton par programme?
- 4. Test pour voir si le contenu ContentPlaceHolder a été remplacé par une page enfant?
- 5. Obtenir le contenu de la page Web par programme
- 6. Spring: Comment définir par programme FactoryBean
- 7. ASP.NET MVC ContentPlaceHolder substitution de contenu codé dur
- 8. ASP Updatepanel dans le contenu disparaît
- 9. Définition d'un contenu de page de publication par programme
- 10. Referencing Page.Title après qu'il a été défini dans le cadre d'un asp: ContentPlaceHolder
- 11. ASP .NET - Définir des valeurs par défaut de ListView InsertItemTemplate
- 12. Comment rediriger par programme 301 dans une page ASP?
- 13. Comment définir le délai d'expiration d'un programme?
- 14. Puis-je remplacer le contenu d'un ASP (Classic) include?
- 15. Comment faire pour définir par programme entre WSS et MOSS
- 16. Comment définir par programme des paramètres pour EntityDataSource et DetailsView?
- 17. Comment puis-je définir l'URL de stratégie par programme?
- 18. Définir par programme l'icône de dossier/répertoire personnalisée sous Linux
- 19. une Ext.TextField définir par programme pour être valide
- 20. Définir un message d'affichage de messagerie instantanée par programme
- 21. windows7 définir par programme "l'icône d'affichage et la notification"
- 22. Définir par programme Windows Live Messenger Afficher l'image
- 23. Définir par programme un objet bean spécifique - Ressort DI
- 24. Définition des données ContentPlaceHolder via le code ASP.NET
- 25. Définir par programme le nom d'utilisateur et le mot de passe pour mon rapport Crystal?
- 26. NSIS pour définir le programme par défaut pour lancer le type de fichier spécifié
- 27. comment ajouter des colonnes par programme et définir le groupement sur le contrôle advancedDataGrid dans flex?
- 28. Télécharger le JRE par programme?
- 29. Définir la taille d'une Jframe dans le programme Jpanel?
- 30. Où puis-je mettre javascript dans ContentPlaceHolder?
désolé j'ai omis que je veux le contenu rempli, pas de contrôles réels générés – Anders
Rempli avec quoi que ce soit spécifique? Texte brut ou texte? –
texte seulement, j'ai le format HTML en dehors du contentplace – Anders