日期:2014-05-17  浏览次数:20405 次

Repeater控件控制显示方式的问题
这是一个考完试后显示试题结果的过程。 如果题型是单选和多选就显示ABCD,如果是判断就显示AB,如果是其它类型ABCD都不显示。不知道怎么实现。
<asp:Repeater ID="RepeaterResultShow" runat="server">
 <ItemTemplate>
  <hr class ="hr98 " /></li>
  <%# Container .ItemIndex +1 %>
  题型: [<%#Eval("questiontype")%>]<br />
  题本:<%#Eval("question")%><br />
  A:<%#Eval("qA")%><br />
  B:<%#Eval("qB")%><br />
  C:<%#Eval("qC")%><br />
  D:<%#Eval("qD")%><br />
  正确答案:<%#Eval("qanswer")%> <br />
  您的回答:<%#Eval("useranswer")%> <br />
  </ItemTemplate>
  </asp:Repeater>


------解决方案--------------------
HTML code
<div>
        <asp:Repeater ID="RepeaterResultShow" runat="server" 
            onitemdatabound="RepeaterResultShow_ItemDataBound">
            <ItemTemplate>
                <hr class="hr98 " />
                </li>
                <%# Container .ItemIndex +1 %>
                题型: [<%#Eval("questiontype")%>]<br />
                题本:<%#Eval("question")%><br />
                <asp:Label ID="lblA" runat="server" Text="">A:<%#Eval("qA")%></asp:Label>
                <asp:Label ID="lblB" runat="server" Text="">B:<%#Eval("qB")%><br /></asp:Label>
                <asp:Label ID="lblC" runat="server" Text="">C:<%#Eval("qC")%><br /></asp:Label>
                <asp:Label ID="lblD" runat="server" Text="">D:<%#Eval("qD")%><br /></asp:Label>
                正确答案:<%#Eval("qanswer")%>
                <br />
                您的回答:<%#Eval("useranswer")%>
                <br />
            </ItemTemplate>
        </asp:Repeater>
    </div>

------解决方案--------------------

前台:
HTML code

<asp:Repeater ID="RepeaterResultShow" runat="server">
 <ItemTemplate>
  <hr class ="hr98 " /></li>
  <%# Container .ItemIndex +1 %>
  题型: [<%#Eval("questiontype")%>]<br />
  题本:<%#Eval("question")%><br />
 <%=GetHtml(Eval("type").ToString(),Eval("qA").ToString(),Eval("qB").ToString(),Eval("qC").ToString(),Eval("qD").ToString())%>
  正确答案:<%#Eval("qanswer")%> <br />
  您的回答:<%#Eval("useranswer")%> <br />
  </ItemTemplate>
  </asp:Repeater>