webForumDet fria alternativet

Events, codebehind

.NET

3 svar · 252 visningar · startad av DavidB

Medlem sedan jan. 20001 372 inlägg
Frågan#1

Tjena

Jag har en datagrid där jag kör några Events på. Nu e grejen den att om jag anger dessa i min DataGrid i presentationslagret (.aspx) så går det fint:

<asp:DataGrid id="showmenu"
	OnItemCommand="expandMenu"
	runat="server" />

Men nu är det så att jag vill ange detta i min codebehind:

DataGrid dg = new DataGrid();
dg.OnItemCommand = "expandMenu";

så får jag följande fel:
CS0122: 'System.Web.UI.WebControls.DataGrid.OnItemCommand(System.Web.UI.WebControls.DataGridCommandEventArgs)' is inaccessible due to its protection level
och funktionen expandmenu ser ut som följande:

public void expandMenu(object sender, DataGridCommandEventArgs e){
// massa kod
}

Detta gäller ju inte bara med OnItemCommand utan jag har testat med flera. Nån som vet hur man skall göra för att slippa detta?

Medlem sedan okt. 20005 273 inlägg
#2

Du skall väll inte ha några tummtecken(") runt expandMenu.

mv icaaq

Medlem sedan jan. 20001 372 inlägg
#3

gjorde tyvärr ingen skillnad

Medlem sedan apr. 20012 266 inlägg
#4

OnItemCommand kan inte användas då den inte är public, använd i stället ItemCommand enligt nedan.

dg.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(expandMenu);
254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)