J'ai un gridview contenant des données de db, et après une vérification, je veux voir une petite croix/tick image dans chaque rangée, en raison du résultat de la vérification.Comment puis-je changer le image url dynamiquement?gridview changement d'image dynamique dans l'imagebutton
0
A
Répondre
0
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Image ID="check" runat="server" ImageUrl='<%#If(Eval("check") = 1,"images/checked.gif","images/unchceked.gif") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
2
Vous pouvez soit utiliser la déclaration en ligne comme
<%#Eval("check").ToString() == "1" ? "images/checked.gif" : "images/unchceked.gif")%>
ou utiliser une fonction pour obtenir le résultat comme suit:
<%# getImageUrl(Eval("value")) %>
Public Function getImageUrl(ByVal value As Integer) As String
If value = 0 Then
Return "images/unchceked.gif"
Else
Return "mages/checked.gif"
End If
End Function
0
sous forme:
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="check" runat="server" ImageUrl='<%# GetImageUrl(Eval("Check")) %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
Code
-derrière:
public string GetImageUrl(object checkObject)
{
if (checkObject!= null)
{
bool check;
bool parsable = bool.Parse(checkObject.ToString(), out check);
check= parsable ? check : false;
return check ? "~/Media/Images/tick.png" : "~/Media/Images/untick.png";
}
return "~/Media/Images/none.png";
}