私がやりたいのは、問題の列のIDの値を持つテーブル行にIDを割り当てることです。
明確にするために。フィールドを含むデータテーブルがあり、次[ID]
[Name]
[Description]
のように入力しListView
ます:(わかりやすくするためにここでコードを簡略化しました)
<asp:ListView ID="MainList" runat="server" DataKeyNames="id">
<layouttemplate>
<dl id="header">
<dd class="rowHeader">Name</dd>
<dd class="rowHeader">Description</dd>
</dl>
<asp:Panel runat="server" ID="itemPlaceholder">
</asp:Panel>
</layouttemplate>
<itemtemplate>
<dl class="row">
<dd><%# Eval("name")%></dd>
<dd><%# Eval("description")%></dd>
</dl>
</itemtemplate>
</asp:ListView>
さて、このように追加してみました。
<dl class="row" id='<%# Eval("id")%>'>
もちろん機能しましたが、何かをチェックする必要があるため、変数として渡す必要があります。そのようです:
<% Dim id as Integer = Eval("id") %>
<dl class="row" id='<%=id %>'>
このエラーが発生しました:
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
そして、私はそれを理解しています...私がこれを必要とする理由は、idをセッション変数と比較し、それに応じて行クラスを変更できるようにするためです。
これを回避する方法はありますか?