webForumDet fria alternativet

Events, codebehind

3 svar · 252 visningar · startad av DavidB

DavidBMedlem sedan jan. 20001 140 inlägg
#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?

icaaqMedlem sedan okt. 20004 910 inlägg
#2

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

mv icaaq

DavidBMedlem sedan jan. 20001 140 inlägg
#3

gjorde tyvärr ingen skillnad

renholmMedlem sedan apr. 20012 048 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);
Genererad på 376 ms · cache AV · v20260730165559-full.f96bc7eb