如何将数据绑定表达式的值存储到变量中

use*_*703 5 asp.net data-binding binding

我需要在模板中多次访问绑定项的值.现在我的ListView模板如下所示:

<asp:ListView ID="ListView1" runat="server" ItemPlaceholderID="plc"><br/>
 <ItemTemplate><br/>
  <input type="radio" class="myrating<%# DataBinder.Eval(Container.DataItem, "Day")%>" value="3" /><br/>
  <input type="radio" class="myrating<%# DataBinder.Eval(Container.DataItem, "Day")%>" value="4" /><br/>
    </ItemTemplate><br/>
    <LayoutTemplate><br/>
        <div id="plc" runat="server"><br/>
        </div><br/>
    </LayoutTemplate><br/>
    <EmptyDataTemplate><br/>
        No data</EmptyDataTemplate><br/>
</asp:ListView><br/>
Run Code Online (Sandbox Code Playgroud)

在某些情况下,我可能会有几十个单选按钮,因此反复调用<%# DataBinder.Eval(Container.DataItem, "Day")%>似乎效率低下.

我想将该表达式的值赋给变量,然后使用此变量,因此我的模板看起来像这样

<ItemTemplate><br />
<%String ClassName = "myrating" + <%# DataBinder.Eval(Container.DataItem, "Day")%><br />
  <input type="radio" class="<%=ClassName %>" value="3" /><br />
  <input type="radio" class="<%="ClassName" value="4" /><br />
    </ItemTemplate><br />
Run Code Online (Sandbox Code Playgroud)

这个例子没有编译,但我希望你能得到这个想法.

ibu*_*kov 3

您可以使用OnItemDataBount事件并像使用变量一样使用 DataItem。