如果条件为假,为什么我的if语句仍在运行? asp.net

时间:2017-05-06 17:52:01

标签: asp.net visual-studio if-statement

为什么当if(Session["StudentRep"] == null)为false时if语句仍在运行? 在上面的代码中,if确实有效!为什么会这样?

<ItemTemplate>
    <table>
        <tr>
            <td style="width: 200px"><%#Eval("lesDate")%> </td>
            <td style="width: 200px"><%# Eval("lesHour") %> </td>
            <%if (Session["StudentRep"] != null)
                { %>
            <td style="width: 200px"><%# (TeacherById(Eval("teacherID").ToString())).Name %>  </td>
            <%} %>

             **<% if (Session["StudentRep"] == null)
                { %>

           <td style="width: 200px"><%# StudentById(Eval("studentID").ToString()).Name+" "+  StudentById(Eval("studentID").ToString()).FamilyName%></td>
            <%} %>**

            <td style="width: 200px"><%# (CityName((int)Eval("CityNum"))) %>  </td>
            <td style="width: 200px"><%# SubName((int)Eval("subID"))+ " " +SubDif((int)Eval("subID")).ToString()+" '??" %></td>
            <td style="width: 200px"><%# Eval("participant") %></td>
            <td style="width: 200px"><%# Eval("cost") %> </td>
        </tr>
    </table>
</ItemTemplate>

2 个答案:

答案 0 :(得分:0)

会话可能不为null,可能为空或无。尝试使用IsNullOrEmpty函数。

            <%if (!string.IsNullOrEmpty(Session["StudentRep"] as string)) { %>

            <% } %>

答案 1 :(得分:0)

尝试这样的事情:

<%if (!String.IsNullOrEmpty(Session["StudentRep"] as string))
{ %>
     <td style="width: 200px"><%# (TeacherById(Eval("teacherID").ToString())).Name %>  </td>
<%} else { %>
     <td style="width: 200px"><%# StudentById(Eval("studentID").ToString()).Name+" "+  StudentById(Eval("studentID").ToString()).FamilyName%></td>
<%} %>

如果它仍然呈现不正确的TD,那么StudentRep实际上有一个值的可能性。