ok, je travaille sur un contrôle personnalisé qui peut contenir du javascript, et lire ceci hors de la page dans un champ de chaîne.Contrôle personnalisé C# pour obtenir le texte interne en tant que chaîne
Ceci est une solution de contournement pour le javascript dynamique dans un panneau de mise à jour.
En ce moment, je l'ai travailler, mais si je tente de mettre un serveur à l'intérieur du bloc:
<custom:control ID="Custom" runat="server">
<%= ControlName.ClientID %>
</custom:control>
Le compilateur ne l'aime pas. Je sais que ceux-ci sont générés lors de l'exécution, et donc peut-être pas compatible avec ce que je fais, mais est-ce que quelqu'un a une idée de comment je peux obtenir ce travail?
EDIT
message d'erreur: blocs de code ne sont pas pris en charge dans ce contexte
EDIT 2
Le contrôle:
[DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), ControlValueProperty("Text"), DefaultProperty("Text"), ParseChildren(true, "Text"), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class CustomControl : Control, ITextControl
{
[DefaultValue(""), Bindable(true), Localizable(true)]
public string Text
{
get
{
return (string)(ViewState["Text"] ?? string.Empty);
}
set
{
ViewState["Text"] = value;
}
}
}
Quelle erreur obtenez-vous? quel est le ControlName? Si c'est l'ID du contrôle personnalisé que vous avez écrit, il doit s'agir de Customer.ClientID et non de ControlName.ClientID. – 24x7Programmer
Désolé, voir la mise à jour. –
Les noms des contrôles ne sont que des noms composés pour donner un exemple de ce que j'essaie d'obtenir, je pense que l'utilisation de la balise pour mon contrôle serait plutôt idiot :) –