0

おはようございます。MS Visual Studio 2012、ASP.net/C# 3.5 を使用しています (MVC ではありません)。

モデルのコード ビハインドにバインドされたリスト ビューがあります。現在、0、1、または '' の列として画面に表示されます。実行時にこれらを画像 (ティックまたはクロス) に置き換え、値が '' の場合は画像を表示しないようにしたいと思います。

今、私は次のコードスニペットを持っています:

<asp:ListView ID="lvSearchUser" runat="server">
<div class="hidden">    
                <div id="<%#Eval("userid") %>" class="target">
                    <div class="emptyTitle" style="width:680px;">
                        <div class="videosViewed">Videos Viewed</div><div class="module13">Module13</div><div class="module12" >Module12</div>
                            <div class ="module11" >Module11</div><div class="module10">Module10</div><div class="totalTime">Total Time</div>
                    </div>

                    <div class="videosViewed" ><%#Eval("VideosViewed") %> &nbsp;</div>
                    <div class="module13"> <%#Eval("ModuleNum13") %> &nbsp;</div>
                    <div class="module12"> <%#Eval("ModuleNum12") %> &nbsp;</div>
                    <div class="module11"> <%#Eval("ModuleNum11") %> &nbsp;</div>
                    <div class="module10"> <%#Eval("ModuleNum10") %> &nbsp;</div>
                    <div class="totalTime"> <%#Eval("TotalTime") %> &nbsp;</div>
                </div>
            </div>
            <div style="clear:both"></div>

背後にあるコードは次のとおりです。

private void ShowGrid()
{
    //dgvUserResults.DataSource = null;
    List<ModelSearchUser> dbuser = runSQL.GetUserFinal(GetSearchInput(), GetCountryInput(), GetUserTypeInput(), GetGroupInput(), GetCodeUsageInput(), GetCompletedInput());
    lvSearchUser.DataSource = dbuser;
    this.lvSearchUser.DataBind();
}

これは、グリッドのように機能するように div が内側にラップされたリストビューのデータグリッドではないことに注意してください。

誰でもこれに対する解決策を持っていますか?(残念ながら、IE7 でも動作するもの...身震い*)

4

1 に答える 1

0

ModuleNum13バインド時にそれがデータソースにあると仮定するとint、次のようになります。

<div class="module13">
    <asp:Image id="tick" runat="server" Visible='<%# Eval("ModuleNum13") is int && ((int)Eval("ModuleNum13")) == 1  %>' ImageUrl="/image/tick.jpg" />
    <asp:Image id="cross" runat="server" Visible='<%# Eval("ModuleNum13") is int && ((int)Eval("ModuleNum13")) == 0  %>' ImageUrl="/image/cross.jpg" />
     &nbsp;
</div>

他のフィールドについても同様です。これはエレガントではありませんが、うまくいくはずです...

于 2013-07-09T12:00:56.873 に答える