私はこのようなことをどのように達成するのか考えていないので、ここに行きます。 データリストで次の項目を満たしていますか?
は、私は次のようなデータを持っているdatatable
を持っている:Green.png、Red.png、Yellow.png:
Room Cook Waiter Input
201 Joe Jim Green.png
202 Jack Mary Red.png
203 Jet Mark Yellow.png
204 Nick Jill Green.png
私は3つのPNGファイルを持っています。各PNGは100x100ピクセルです。
私が使用しているデータコントロールはdatalist
です。各datalist
アイテムには、Input
列に従ってPNGを表示する100x100px div
と、列Room
,およびWaiter
の3つのラベルがあります。
これは問題ではなく、すでに正しく表示されています。各データリスト項目のサイズは100x100pxで、この領域には3つのlabels
が表示されています。
私が立ち往生している大きな問題は、各データリスト項目をクリックしてサーバー側のコードを実行できることです。サーバー側のコードが実行されると、コードビハインドはRoom
,Cook
になります。 datalist
の項目にはWaiter
が含まれています。これが私が本当に立ち往生している場所です。
私が見た部分解決策のほとんどはjqueryで行っていますが、私はそれを使用したくありません。理想的には、イメージボタンの上にラベルを追加することですが、これは不可能です。悪いケースのシナリオは、ボタンの外側にテキストを表示することですが、それはデザインを壊すでしょう。
私は、ASPXマークアップを含めています:
<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>
すべてのヘルプは高く評価されます。
詳細情報が必要です。 ASPXマークアップやその他のコードを提供して、ソリューションを手に入れることができます。 3つの隠しフィールドをDataList Item Templateに追加し、それらの隠しコントロールを他の3つの列にバインドできますか? –
私はaspxマークアップを含めました。 – rbhat
DataList Item Templateの他の3つの列の値を表示する必要があります。隠し値を追加することはできますが、特定の項目のコードビーンを呼び出すにはどうすればよいですか? – rbhat