You can't assign a value to the ImageField in GridView. However, you can probably use the DataImageUrlField attribute of ImageField and set the image URL there.
Also, if you want to have a full control over your Image, then I would suggest you to use TemplateField instead. For example:
<asp:TemplateField>
<ItemTemplate>
<asp:image id="Image1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
Then in your code, at RowDataBound event, you can access the Image control and set the ImageUrl to whatever you want based on your condition. A quick example would be:
Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
Dim img1 As Image = CType(e.Row.FindControl("Image1"), Image)
If img1 IsNot Nothing Then
Dim fieldToCheck = e.Row.Cells(4).Text
If fieldToCheck.Equals("1") Then
img1.Visible = True
img1.ImageUrl = "Set the image path here"
Else
img1.Visible = False
End If
End If
End If
End Sub