Ich habe keine Ahnung, wie man so etwas erreichen kann, also hier.Erledigung der folgenden mit einem Datengeber?
Ich habe eine datatable
, die die folgenden Daten hat:
Room Cook Waiter Input
201 Joe Jim Green.png
202 Jack Mary Red.png
203 Jet Mark Yellow.png
204 Nick Jill Green.png
Ich habe 3 PNG-Dateien: Green.png, red.png, yellow.png. Jedes PNG ist 100x100px.
Die Datensteuerung, die ich verwendet habe, ist ein datalist
. Jeder datalist
Artikel hat folgendes: a 100x100px div
zur Anzeige des PNG gemäß der Input
Spalte und 3 Etiketten, für die Spalten Room
, Cook
und Waiter
.
Dies ist kein Problem, und es wird bereits korrekt angezeigt: Jedes Datenlistenelement ist 100x100px groß und innerhalb dieses Bereichs habe ich 3 labels
die anderen Spalten anzeigen.
Das größere Problem, an dem ich feststecke, ist es, auf jedes Datenelement klicken und serverseitigen Code ausführen zu können. Und wenn der serverseitige Code ausgeführt wird, hat der Codebehind die Room
, Cook
. und Waiter
in diesem datalist
Artikel. Hier bin ich wirklich festgefahren.
Die meisten der Teillösungen, die ich gesehen habe, waren mit jquery, aber ich möchte das nicht verwenden. Idealerweise wäre es eine Beschriftung über eine Bildschaltfläche hinzuzufügen, aber das ist nicht möglich. Ein schlimmeres Szenario wäre, den Text außerhalb der Schaltfläche anzuzeigen, aber das würde das Design ruinieren.
Ich bin auch der aspx Markup:
<asp:DataList ID="DataListDiv" runat="server" RepeatColumns="5">
<ItemTemplate>
<div style="padding: 8px">
<div style='width:195px;height:162px; background-image:url(<%# Eval("image_path") %>)'>
<div style="width: 195px; height: 22px; padding-top: 5px; overflow: hidden;">
<div style="box-sizing: border-box; width:97px; float:left;">
<asp:Label ID="Label1" runat="server" Text='<%# Eval("RoomNum")%>' ></asp:Label>
</div>
</div>
<div style="width: 195px; height: 22px; box-sizing: border-box">
<asp:Label ID="Label2" runat="server" Text='<%# Eval("CookName")%>' ></asp:Label>
</div>
<div style="width: 195px; height: 22px; box-sizing: border-box">
<asp:Label ID="Label3" runat="server" Text='<%# Eval("WaiterName")%>' ></asp:Label>
</div>
</div>
</div>
</ItemTemplate>
</asp:DataList>
Jede Hilfe ist willkommen.
Benötigen Sie weitere Informationen? Geben Sie etwas von Ihrem ASPX-Markup und anderem Code an, um zu einer Lösung zu gelangen. Könnten Sie der DataList-Objektvorlage einfach drei versteckte Felder hinzufügen und diese ausgeblendeten Steuerelemente an die anderen drei Spalten binden? –
Ich habe die aspx Markup enthalten. – rbhat
Ich muss den Wert der anderen drei Spalten in der DataList-Artikelvorlage anzeigen. Ich kann die versteckten Werte hinzufügen, aber wie würde ich den Code für ein bestimmtes Element aufrufen? – rbhat