webForumDet fria alternativet

Lägg till OnClick på serversidan...

.NET

4 svar · 283 visningar · startad av Vide

Medlem sedan dec. 19998 577 inlägg
Frågan#1

Hejsan,

(ASP.NET, C#)

Jag har en kod som skapar en Button i ett c#-kodblock, och lägger sedan till detta i en Panel som finns definierad i HTML-koden.

Button resultsButton = new Button();
resultsButton.ID = "newresults_B1";
resultsButton.Text = "Skicka data";
resultsButton.CssClass = "buttonnav";
[red]resultsButton.OnClick = "newresults_FormClick";[/red]
newresults_Panel.Controls.Add( resultsButton );

Det blir fel på den röda raden:

Microsoft .NET Framework skrev:

'System.Web.UI.WebControls.Button.OnClick(System.EventArgs)' is inaccessible due to its protection level

Hur skall jag lägga till detta attribut till Button?

Mvh, Vide

Medlem sedan feb. 20022 594 inlägg
#2

Det kanske funkar om du byter OnClick till endast Click. Tror det var något sånt jag gjorde för att få det att funka.

Medlem sedan dec. 19998 577 inlägg
#3

Tyvärr fungerade inte det. Jag vet att det funkar om jag skriver in taggen som <asp:Button>, men jag vill definiera den i c#-koden...

Om jag nu skulle köra med <asp:Button> så vill jag kunna bestämma ordningen på hur kontrollerna renderas på sidan, finns det något sätt att göra det?

Mvh, Vide

Medlem sedan nov. 2000213 inlägg
#4

Låter som du har fel åtkomstattribut. Om du inte sätter något åtkomstattribut så blir din Button automatiskt private och kan bara användas i den egna klassen.

Prova att deklarera din Button, kanske räcker så här
protected Button resultsButton;

...sen använder du din resultButton så här nere i övriga koden:
resultButton = new Button();

Medlem sedan juni 2002151 inlägg
#5

prova

Button b=new Button();
b.Click+=new System.EventHandler(bSave_Click);
263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)