webForumDet fria alternativet

ItemCommand körs inte?

.NET

4 svar · 297 visningar · startad av Bjuris

Medlem sedan juli 2001514 inlägg
Frågan#1

Jag har en datagrid som innehåller en OnPreRedner samt ett CommandName

<ItemTemplate>
	<asp:LinkButton ID="lbDeleteContact" OnPreRender="DataGridContact_PreRender" CommandName="DeleteContact"
	Runat="server" CausesValidation="false">
		<img src="images/trash.gif" border="0" alt="Delete"></asp:LinkButton>
</ItemTemplate>

I min OnPreRender så har jag en popup som frågar om jag vill plocka bort kontakten och det fungerar finfint

protected void DataGridContact_PreRender(object sender, System.EventArgs e)
{
	((LinkButton)sender).Attributes.Add("onclick", "return confirm ('Do you want to delete the contact?');");
}

Men... min ItemCommand verkar inte köras

private void DataGridContact_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
	if (e.CommandName=="DeleteContact")
	{
		Label lblCustomerContactId		= ((Label)e.Item.FindControl("lblContactIDOrg"));
	
		try
		{
			appConnectionString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionStringSQL"];
			dg = new DataBaseGateway(appConnectionString); 
			dg.ExecuteQuery("sp_DeleteContact '"+lblCustomerContactId.Text.Trim()+"'");
		}
		catch(Exception tst)
		{
			lblStartPageError.Visible=true;
			lblStartPageError.Text = ("Fel: "+tst); 
		}
	}
}

Vad gör jag för fel?

Medlem sedan juni 200421 inlägg
#2

Du har satt OnItemCommand="den metod som ska köras" i datagridden?

Medlem sedan juni 200421 inlägg
#3

förresten, din datagrid råkar inte vara innuti en usercontrol?

Det är nämligen mitt nuvarande problem, alltså att min CommandName="minEdit" som jag har på en knapp inte verkar snappas upp av min datagrid. eller så hittar datagridden inte åt metoden jag angett. Jag har gjort detta tidigare på en vanlig aspx sida och då funkar det klockrent. men inte nu inne i en ascx.

<asp:DataGrid id="dgrNews" runat="server" AutoGenerateColumns="False" BorderWidth="0" ShowHeader="False" OnItemCommand="myCommand"> 
....
columns, templatecolumn, itemtemplate, lite tables
....
<asp:ImageButton ID="btnEdit" ImageAlign="Right" ImageUrl="edit.gif" runat="server" CommandName="minEdit" ></asp:ImageButton>

och här är min Sub

Sub myCommand(ByVal s As Object, ByVal e As DataGridCommandEventArgs)
            Response.Write("inne i Commandet")
            If e.CommandName = "minEdit" Then
                lblTrace.Text = "Edititems"
            End If

            If e.CommandName = "kommentera" Then
                lblTrace.Text = "Kommentera"
            End If

        End Sub

Den kommer aldrig in i myCommand överhuvudtaget.. någon som ser nått galet? eller det kanske är nått speciellt man måste göra iom att det är innuti en usercontrol?

Ledsen om jag hijackar din tråd Bjuris.

Medlem sedan juli 2001514 inlägg
#4

Jag har deklarerat OnItemCommand men det fungerar inte.

Min datagrid finns på default.aspx men den anroppas via en usercontrol, men jag tycker att den borde fungera.
OnEditCommand fungerar samma med update men inte OnItemCommand.

Helskumt.

Medlem sedan juli 2001514 inlägg
#5

Nu tcker jat att jag har försökt alla olika saker som går att försöka med men inget fungerar.

Jag har använt mig av
OnItemCommand="DataGridContact_ItemCommand"
Jag har deklarerat den i designläget för Datagriden

Den finns i InitializeComponent()
this.DataGridContact.ItemCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(this.DataGridContact_ItemCommand);

men fortfarande så fungerar det inte, vad skall jag göra?

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
133 ms — ändringar (db)