Ich habe schon seit einiger Zeit versucht, herauszufinden, wie dies zu tun ist, weil die ID der Image-Schaltfläche, die ich erstellt habe ('titanBtn'), nicht in meinem Code hinter der Datei erkannt wird. Das würde mir erlauben, einfach "titanBtn.ImageUrl =" zu schreiben, aber ach, der hinterstehende Code sagt, dass es nicht existiert.Angeben der Bildschaltflächen-Bild-URL im Code hinter der asp.net-Seite?
Alles, was ich mit diesem Code zu tun versuche, ist eine vom Db gelesene Zeichenfolge gibt den Dateinamen des Bildes (die entsprechenden Bilder nach dem Elementtyp jedes Objekt benannt sind), und setzt diese in einer verketteten String, der die ImageUrl angibt.
<asp:Repeater ID="titanRptr" runat="server">
<ItemTemplate>
<table>
<tr class="tr1">
<td><%# Eval("TitanName") %></td>
<td>
<asp:ImageButton ID="titanBtn" runat="server" Width="100px" Height="100px" OnClick="titanBtn_Click" />
</td>
<td>Level: <%# Eval("char_lvl")%>
<br />
Step: <%# Eval("step")%>
<br />
</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
Code hinter
using (SqlCommand cmd2 = new SqlCommand("getElement", conn))
{
cmd2.CommandType = CommandType.StoredProcedure;
cmd2.Parameters.AddWithValue("@uid", titanElement);
using (SqlDataAdapter sda = new SqlDataAdapter(cmd2))
{
SqlDataReader reader;
conn.Open();
reader = cmd2.ExecuteReader();
while (reader.Read())
{
titanImage = Convert.ToString(reader["Element"]);
titanBtn.ImageUrl = "images/" + titanImage+ ".gif"; //"The name 'titanBtn' does not exist in the current context"
titanRptr
}
conn.Close();
}
}