ironheadMedlem sedan mars 20011 346 inlägg Hej!
Jag har denna knapp i en repeater:
<asp:ImageButton id="ImageButton1" runat="server" CausesValidation="false" CommandName="imagebtn1"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "FCID") %>' ImageUrl="images/trash.png" ></asp:ImageButton>
Nu skulle jag vilja fånga upp "CommandArgument" när jag klickar på knappen, kan man det i OnClick-eventet på knappen eller måste man köra nån slags "ItemCommand" på Repeatern.
Jag fattar inte...please help me :q
Private Sub dinrepeater_itemcommand(ByVal sender As Object, ByVal e As RepeaterCommandEventArgs) Handles dinrepeater.ItemCommand
If e.CommandName = "imagebtn1" Then
response.write(e.commandargument)
End If
End Sub
ironheadMedlem sedan mars 20011 346 inlägg Har testat detta, men får det inte att fungera....har skrivit ut "e.commandargument" i en label, men får inte ut nåt värde.
Repeater:
<asp:repeater id="FoodCat" Runat="server" OnItemCommand="FoodCat_itemcommand">
'
'
'
</asp:repeater>
knapp:
<asp:ImageButton id="ImageButton1" Runat="server" ImageUrl="images/trash.png" CausesValidation="false"
CommandName="imagebtn1" CommandArgument="9"></asp:ImageButton>
sub:
Public Sub FoodCat_itemcommand(ByVal sender As Object, ByVal e As RepeaterCommandEventArgs) Handles FoodCat.ItemCommand
If e.CommandName = "imagebtn1" Then
Label1.Text = e.CommandArgument
End If
End Sub
Det där fungerar för mig
prova att göra så här
<asp:repeater id="FoodCat" Runat="server">
'
'
</asp:repeater>
codebehind
protected withevents Foodcat as system.web.ui.webcontrols.repeater
Private Sub foodcat_itemcommand(ByVal sender As Object, ByVal e As RepeaterCommandEventArgs) Handles foodcat.ItemCommand
If e.CommandName = "imagebtn1" Then
label1.text = e.commandargument
End If
End Sub
ironheadMedlem sedan mars 20011 346 inlägg Skumt...fungerar när jag skapar en ny sida, men inte i min befintliga :-/
....en fråga till: jag får felmeddelande när jag försöker lägga till ett onclick event på imageButton.
'javascript' is not a member of 'ASP.Form_Test2_aspx'.
Kan man inte göra det? Jag vill alltså visa rutan innan subben körs...
<asp:ImageButton OnClick="javascript:alert('klickeliklick');" id="ImageButton1" Runat="server"
ImageUrl="images/trash.png" CausesValidation="false" CommandName="imagebtn1"
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "FCID") %>'></asp:ImageButton>
prova att lägga till det så här
Private Sub foodcat_itemdatabound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles foodcat.ItemDataBound
CType(e.Item.FindControl("ImageButton1"), LinkButton).Attributes.Add("onClick", "javascript: return alert('klickeliklick');")
End Sub
ironheadMedlem sedan mars 20011 346 inlägg Får detta felmeddelande:
Object reference not set to an instance of an object.
skrev fel
Private Sub foodcat_itemdatabound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles foodcat.ItemDataBound
[B]If e.Item.ItemType = Item Or e.Item.ItemType = AlternatingItem then[/B]
CType(e.Item.FindControl("ImageButton1"), imagebutton).Attributes.Add("onClick", "java script: return alert('klickeliklick');")
[B]end if[/B]
End Sub
edit: ändrade en sak till
ironheadMedlem sedan mars 20011 346 inlägg "Item" and "AlternatingItem" not declared
Vad ska man skriva för dessa...?
Edit:
Hittade denna kod som funkar, synpunkter på den?
Känns mycket för att åstakomma så lite...
Protected Overrides Sub OnInit(ByVal e As EventArgs)
MyBase.OnInit(e)
AddHandler Load, AddressOf Me.Page_Load
AddHandler Repeater1.ItemCreated, AddressOf Me.Item_Created
AddHandler Repeater1.ItemCommand, AddressOf Me.DeleteSearch_Click
End Sub
Private Sub Item_Created(ByVal Sender As Object, ByVal e As RepeaterItemEventArgs)
If ((e.Item.ItemType = ListItemType.Item) _
OrElse (e.Item.ItemType = ListItemType.AlternatingItem)) Then
Dim _myButton As ImageButton = CType(e.Item.FindControl("ImageButton1"), ImageButton)
_myButton.Attributes.Add("onclick", "return confirm_delete();")
End If
End Sub
jag skrev fel igen
Private Sub foodcat_itemdatabound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles foodcat.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem then
CType(e.Item.FindControl("ImageButton1"), imagebutton).Attributes.Add("onClick", "java script: return alert('klickeliklick');")
end if
End Sub
Koden du visar fungerar säkert lika bra.
ironheadMedlem sedan mars 20011 346 inlägg
andreas_lindh skrev:
jag skrev fel igen
Private Sub foodcat_itemdatabound(ByVal sender As Object, ByVal e As RepeaterItemEventArgs) Handles foodcat.ItemDataBound
If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem then
CType(e.Item.FindControl("ImageButton1"), imagebutton).Attributes.Add("onClick", "java script: return alert('klickeliklick');")
end if
End Sub
Koden du visar fungerar säkert lika bra.
Jag får inte din kod att fungera och problemet med den andra koden är att jag har 2 ImageButtons i min repeater.
Hur jag än gör, så körs samma sub när jag klickar på de olika knapparna :-/ iochmed att det körs en addhandler för repeatern....hur sk amna göra då när man har 2 knappar man vill skicka med id:t till varsin sub?
EDIT:
Jag la till detta i AddHandler-subben:
If e.CommandName = "imagebtn1" Then
'kod knapp1
elseif e.CommandName = "imagebtn2" Then
'kod knapp 2
End If
..så nu funkar det fint!
Tack tack för all hjälp :D