J'ai créé un UserControl avec la propriété publique suivante:Comment mettre à jour l'interface UserControl au moment de la conception en fonction de la valeur de la propriété?
[Browsable(true)]
public string Text
{
get { return pnlLookupTable.GroupingText; }
set { pnlLookupTable.GroupingText = value; }
}
pnlLookupTable est, comme vous l'aurez deviné, un contrôle Panel. Je peux changer la valeur de la propriété Text dans la fenêtre Propriétés et elle est reflétée dans le balisage comme il se doit. Toutefois, la vue de conception du contrôle UserControl à l'intérieur d'une page n'affiche pas GroupingText mis à jour pour le panneau. Comment puis-je obtenir cela?
EDIT:
Sur demande, voici toute la classe à laquelle appartient cette propriété. Vous pouvez voir qu'il n'y a rien de spécial se passe:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class LookupTable : System.Web.UI.UserControl
{
[Browsable(true)]
public string Text
{
get { return pnlLookupTable.GroupingText; }
set { pnlLookupTable.GroupingText = value; }
}
}
Et voici la partie pertinente du fichier .ascx:
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="LookupTable.ascx.cs" Inherits="LookupTable" %>
<asp:Panel ID="pnlLookupTable" runat="server" GroupingText="Lookup Table">
<%-- Irrelevant content here. --%>
</asp:Panel>
J'ai changé quelques identifiants et d'autres choses futiles pour protéger la nature exclusive de la code.
Je devrais également réitérer que je regarde un formulaire Web en mode de conception qui a mon contrôle ajouté, et je change la propriété de texte. Je veux voir la modification de GroupingText du Panel visuellement dans le concepteur.
Comment avez-vous implémenté votre contrôle utilisateur? Comme un fichier ASCX avec du code dedans? Ou avez-vous écrit une classe personnalisée dérivée de UserControl? S'il vous plaît montrer un peu plus de code de votre scénario, car cela peut affecter la réponse. – Eilon
Eilon, j'ai mis à jour mon message. Il n'y a plus grand chose à voir. :) –
Un suivi rapide: Je pense qu'il est temps pour moi d'accepter que cela ne peut pas être fait et passer à autre chose. Comme ce n'est vraiment qu'une question de commodité, cela ne justifie pas la création d'un contrôle personnalisé ou la compilation du fichier .ascx, bien que ce soient de bonnes suggestions. Merci pour les contributions de tous. J'ai définitivement appris certaines choses. –