jag hämtar x antal poster från databasen och läser in dom i min DataList Såhär hade JAG löst problemet: Ja jäklar vad enkelt! Oki, det var visst inte så svårt. Kanon! Hur gör man för att skicka med en Container i ett funktionsanrop från en aspx sida? Jag antar att du fortfarande är på samma sida som tidigare och det du vill är att fixa till om knappen ska synas eller ej. Då löste jag det såhär: Jag antar att du fortfarande är på samma sida som tidigare och det du vill är att fixa till om knappen ska synas eller ej. Då löste jag det såhär: Jag antar att du fortfarande är på samma sida som tidigare och det du vill är att fixa till om knappen ska synas eller ej. Då löste jag det såhär: Jag antar att du fortfarande är på samma sida som tidigare och det du vill är att fixa till om knappen ska synas eller ej. Då löste jag det såhär: Jag antar att du fortfarande är på samma sida som tidigare och det du vill är att fixa till om knappen ska synas eller ej. Då löste jag det såhär:DataList problem
I den har jag bla en ImageButton.
<asp:ImageButton CommandName="Delete" id="btnDelete" runat="server" ImageUrl="recycler.gif"></asp:ImageButton>
Kan inte lista ut hur jag ska kunna skicka med vilket ID jag klickat på.
Container.DataItem("NodeId")
Har provat med <asp:ImageButton id='<%#Container.DataItem("NodeId")%>'>
och även <asp:ImageButton id='a<%#Container.DataItem("NodeId")%>'>
men det funkar givetvis inte i .Net...
I Sub Delete_Command vill jag ju veta vilket ID jag klickat på så att jag kan använda det för att radera posten.
Eller kan man skapa ImageButton knappen i OnItemCreatet? I så fall hur?Sv: DataList problem
Börja med att lägga till en DataKeyField för din lista. Det ska vara en primärnyckel eller annat radunikt värde.
T ex:
<code>
<asp:DataList id="Nodes" runat="server" DataKeyField="NodeID">
<!-- Stuff -->
</asp:DataList>
</code>
Sen tar du hand om det hela i codebehind för din datalista:
<code>
Private Sub Nodes_DeleteCommand(ByVal source As Object, _
ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) _
Handles Nodes.DeleteCommand
Dim NodeID As Integer = _
Integer.Parse(DataList1.DataKeys(e.Item.ItemIndex).ToString)
' Variabeln NodeID är nu det motsvarande NodID:t
' för den rad som användaren klickat på.
End Sub
</code>
Hepp!
//Mikael Sand
Ånge(st)Sv: DataList problem
Har nog missat en del grundläggande kunskaper...
Antar att det finns en lika smart metod för att lösa nästa problem som då givetvis uppenbarade sig.
Min ImageButton har id="btnDelete"
<asp:ImageButton CommandName="Delete" id="btnDelete" runat="server" ImageUrl="recycler.gif"></asp:ImageButton>
Jag har en funktion på nästa rad som kollar om jag har rättighet att se den knappen.
<%# PermCheck(Container.DataItem("NodeId"))%>
PermCheck ligger i .vb sidan.
Där kollar jag om man får se knappen eller ej.
If bla bla bla = True Then
btnDelete.Visible = True
Else
btnDelete.Visible = False
End If
Men knappen btnDelete får ett annat namn ctr_12_btnDelete eller liknande.
Hur kan man gå tillväga för att sätta btnDelete knapparna till visible eller false?Sv: DataList problem
Här är lösningen på ditt problem:
<code>
<asp:DataList id="DataList2" runat="server">
<ItemTemplate>
<% if CheckForAuth() then%>
<asp:ImageButton Runat="server" ID="Imagebutton1"
CommandName="Delete" AlternateText="O"></asp:ImageButton>
<% else %>
<asp:Label Runat="server" ID="Label1">nej</asp:Label>
<% end if %>
</ItemTemplate>
</asp:DataList>
</code>
I codebehind ligger sedan en funktion som fixar om rättigheterna finns och returnerar en boolean.
<code>
Public Function CheckForAuth() As Boolean
' check
end function
</code>
Observera Scope för funktionen. Det måste vara public.
//MikaelSv: DataList problem
Hade fått för mig att det inte gick att använda
<%If else ..%> i en aspx sida!
Tusen tack för hjälpen!Sv: DataList problem
<% If PermCheck("Add", Container.DataItem("ObjectId")) Then %>
<asp:ImageButton.../>
<% End If %>
Hur jag än försöker så får jag kompilations fel på if raden.Sv: DataList problem
<code>
<asp:ImageButton ID="btnDel"
Visible='<%# DelButtonVisible(Container.DataItem("ObjectID"))%>'> </asp:ImageButton>
</code>
På samma sätt som tidigare finns en public funktion i codebehind. I detta fall heter den som synes DelButtonVisible och den returnerar antingen True eller False som sträng.
Funktionen gör ett test om huruvida knappen ska synas eller inte. det fina i det hela är att synas i detta fall innebär att knappen inte renderas och skickas där inte heller ut till användare, vilket gör att personen inte kan pilla med koden genom att "Visa källa". Knappen finns ju inte.
Om du har fler problem med samma sida så får du väl nästan maila den till mig :-)
Hoppas i alla fall att detta löser ditt problem.Sv: DataList problem
<code>
<asp:ImageButton ID="btnDel"
Visible='<%# DelButtonVisible(Container.DataItem("ObjectID"))%>'> </asp:ImageButton>
</code>
På samma sätt som tidigare finns en public funktion i codebehind. I detta fall heter den som synes DelButtonVisible och den returnerar antingen True eller False som sträng.
Funktionen gör ett test om huruvida knappen ska synas eller inte. det fina i det hela är att synas i detta fall innebär att knappen inte renderas och skickas där inte heller ut till användare, vilket gör att personen inte kan pilla med koden genom att "Visa källa". Knappen finns ju inte.
Om du har fler problem med samma sida så får du väl nästan maila den till mig :-)
Hoppas i alla fall att detta löser ditt problem.Sv: DataList problem
<code>
<asp:ImageButton ID="btnDel"
Visible=<%# DelButtonVisible(Container.DataItem("ObjectID"))%>> </asp:ImageButton>
</code>
På samma sätt som tidigare finns en public funktion i codebehind. I detta fall heter den som synes DelButtonVisible och den returnerar antingen True eller False som sträng.
Funktionen gör ett test om huruvida knappen ska synas eller inte. det fina i det hela är att synas i detta fall innebär att knappen inte renderas och skickas där inte heller ut till användare, vilket gör att personen inte kan pilla med koden genom att "Visa källa". Knappen finns ju inte.
Om du har fler problem med samma sida så får du väl nästan maila den till mig :-)
Hoppas i alla fall att detta löser ditt problem.Sv: DataList problem
<asp:ImageButton ID="btnDel"
Visible=<%# DelButtonVisible(Container.DataItem("ObjectID"))%>> </asp:ImageButton>
På samma sätt som tidigare finns en public funktion i codebehind. I detta fall heter den som synes DelButtonVisible och den returnerar antingen True eller False som sträng.
Funktionen gör ett test om huruvida knappen ska synas eller inte. det fina i det hela är att synas i detta fall innebär att knappen inte renderas och skickas där inte heller ut till användare, vilket gör att personen inte kan pilla med koden genom att "Visa källa". Knappen finns ju inte.
Om du har fler problem med samma sida så får du väl nästan maila den till mig :-)
Hoppas i alla fall att detta löser ditt problem.Sv: DataList problem
<code>
<asp:ImageButton ID="btnDel"
Visible='<%# DelButtonVisible(Container.DataItem("ObjectID"))%>'> </asp:ImageButton>
</code>
På samma sätt som tidigare finns en public funktion i codebehind. I detta fall heter den som synes DelButtonVisible och den returnerar antingen True eller False som sträng.
Funktionen gör ett test om huruvida knappen ska synas eller inte. det fina i det hela är att synas i detta fall innebär att knappen inte renderas och skickas där inte heller ut till användare, vilket gör att personen inte kan pilla med koden genom att "Visa källa". Knappen finns ju inte.
Om du har fler problem med samma sida så får du väl nästan maila den till mig :-)
Hoppas i alla fall att detta löser ditt problem.