0

aps.net ページに lv1 と lv2 の 2 つの asp.net リストビューがあります。lv2 から lv1 のデータ項目にアクセスしようとして苦労しています。リストビューと色分けされたアイテムの両方のアイテムを比較する必要がありました。

あるリストビューのデータ項目に同じページの別のデータ項目からアクセスすることは可能ですか?

以下はコードです:

    <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>


</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListView ID="lst1" runat="server">
            <ItemTemplate>
                <table class="tblClass" width="95%" border="0" style="margin: auto; font-size: 13px;
                    height: 150px;">
                    <br />
                    <tr>
                        <td>
                            Account#:
                        </td>
                        <td align="right">
                            <b>
                                <%#Eval("ID")%></b>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Email:
                        </td>
                        <td  align="right">
                            <%#Eval("DefaultEmail")%>
                            <input type="radio" id="rad1" <%#(String.IsNullOrEmpty(Eval("DefaultEmail").ToString()) ? "disabled" : " ")%>
                                name="radEmail" value="<%#Eval("DefaultEmail") %>" />
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:ListView>
    </div>
    <div>
        <asp:ListView ID="lst2" runat="server">
            <ItemTemplate>
                <table class="tblClass" width="95%" border="0" style="margin: auto; font-size: 13px;
                    height: 150px;">
                    <br />
                    <tr>
                        <td>
                            Account#:
                        </td>
                        <td align="right">
                            <b>
                                <%#Eval("ID")%></b>
                        </td>
                    </tr>
                    <tr>
                        <td>
                            Email:
                        </td>
                        <td  align="right">
                            <%#Eval("DefaultEmail")%>
                            <input type="radio" id="rad2" <%#(String.IsNullOrEmpty(Eval("DefaultEmail").ToString()) ? "disabled" : " ")%>
                                name="radEmail" value="<%#Eval("DefaultEmail") %>" />
                        </td>
                    </tr>
                </table>
            </ItemTemplate>
        </asp:ListView>
    </div>
    </form>
</body>
</html>

おそらく EVAL を使用して lst1 内の lst2 の Email アイテムにアクセスしたいと思います...このようにして、2 つの値が異なる場合に tr 要素を色分けできます。

4

1 に答える 1

1

リストビューにバインドする前に、コレクション内でこれを解決するのはどうですか?

このようなもの:

  • クラス (listview1 にバインドするもの) に追加のプロパティを追加します。次に例を示します。bool EmailExists
  • listview1 にバインドされるコレクションを反復処理し、2 番目のコレクション (listView2 にバインドされる) で電子メールを検索します。一致するものが見つかったら、EmailExists プロパティを True に設定します。
  • <%#Eval(EmailExists) %>EmailExists の値に基づいて tr 要素を適切に色付けするために使用します
于 2013-11-15T08:38:02.170 に答える