Det är så att jag håller på att göra en egen kontroll som endast skall innehålla en TextBox som jag har satt lite speciella värden på. Nu är bara det problemet att jag vill sätta samma id på dessa:
namespace wsc {
public class MyTextBox : Control, INamingContainer {
public String ID {
set {
this.EnsureChildControls();
((TextBox)Controls[0]).ID = value;
}
}
protected override void CreateChildControls() {
TextBox box = new TextBox();
box.Enabled = false;
this.Controls.Add(box);
}
}
}
Det jag vill ha är så att när man sätter <MinKontroll:Kontroll id="hej" runat="server" /> så skall TextBoxen få vädet på Id som sitt Id. När jag kör koden ovan så blir det nåt fel. Tror det är för att kontrollerna har samma id eller nåt? Nån som vet?
Sen undrar jag även hur man lägger till egenskaper på textboxen som inte finns förutbestämda på Textboxen, t ex.
box.OnClick = "kod";
Får när jag använder detta ett felmeddelande att TextBox inte stödjer OnClick.
När du vill modifiera endast en kontroll tror jag att det är lättare/bättre att försöka ärva från den kontrollen och sedan göra overrides på de funktion du vill ha annurlunda.
För att lägga till OnClick, använd detta:
box.Attributes.Add(String key , String value)
När du vill modifiera endast en kontroll tror jag att det är lättare/bättre att försöka ärva från den kontrollen och sedan göra overrides på de funktion du vill ha annurlunda.
tack, men jag förstår inte riktigt vad jag skaall göra, jag vet hur man gör för ett arv men det andra. du kan inte ge ett exempel på detta?
Vilken rad då? :)
Men felet beror på att ett object finns "på flera olika ställen" dvs kompilatorn vet inte vilket object den ska använda. T.ex Bla.Bla.Object eller Bla.Object.