.ASPX代码中条件语句的正确语法是什么?

时间:2015-12-08 21:13:39

标签: html asp.net if-statement error-handling syntax-error

我试图将一个if语句插入到.aspx文件的表行中,似乎无论我做什么,它都无法正常工作。这就像试图回答一个没有正确答案的问题。以下是有问题的代码:

 <%If Container.DataItem("ReportToolTipText") == 'Pending Approval' %>
 <td>
     <asp:LinkButton  ID="LinkButton1" runat="server" Font-Size="Medium" CommandName="Select" CommandArgument='<%# Eval("CertID") & "," &  Eval("ReportID") & "," & Eval("PUCOID") %> '  OnClientClick="javascript:alert('This report is not editable');" OnCommand="CertLink_Clicked"><%# Container.DataItem("CertID")%></asp:LinkButton> 
     <asp:Label ID="lblCertSortName" runat="server" Font-Size="Medium" Text='<%# Container.DataItem("ReportDisplaySortName")%>'></asp:Label>
 </td>
 <% Else%>
 <td>
     <asp:LinkButton ID="LinkButton1B" runat="server" Font-Size="Medium" CommandName="Select" CommandArgument='<%# Eval("CertID") & "," &  Eval("ReportID") & "," & Eval("PUCOID") %> '  OnCommand="CertLink_Clicked"><%# Container.DataItem("CertID")%></asp:LinkButton> 
     <asp:Label ID="lblCertSortNameB" runat="server" Font-Size="Medium" Text='<%# Container.DataItem("ReportDisplaySortName")%>'></asp:Label>    
 </td>
 <% End If%>

我无法运行此代码,因为似乎顶部if语句的每个变体都会触发错误语句。这是我尝试执行上述代码时收到的错误消息:

BC30451:未声明“容器”。由于其保护级别,它可能无法访问。

所以我尝试将括号中的Container.DataItem变量和百分比符号包围起来,使其他代码行保持不变:

<%If <%# Container.DataItem("ReportToolTipText") #> == 'Pending Approval' %>

当我这样做时,我收到了这个错误:

BC30081:'如果'必须以匹配的'结束时'结束。

它在说什么?我有一个结束,如果在底部。

所以我尝试用单引号括起Container.DataItem变量以及括号和百分号这样的代码,让其他代码行保持不变:

<%If '<%#Container.DataItem("ReportToolTipText")%>' == 'Pending Approval' %>

当我这样做时,我收到了这个错误:

BC30201:预期表达。

同样,if语句中有一个表达式。

所以我尝试用括号括起整个表达式,就像这样,让其他代码行保持不变:

<% If ('<%#Container.DataItem("ReportToolTipText")%>' == 'Pending Approval') %>

我收到了与上次相同的错误消息:

BC30201:预期表达。

所以我尝试在Container.DataItem变量之前只有一个数字符号,就像这样,让其他代码行保持不变:

<% If (#Container.DataItem("ReportToolTipText") == 'Pending Approval') %>

我连续第三次收到此错误消息:

BC30201:预期表达。

我做错了什么?任何人都可以提供给我的任何帮助将不胜感激。

0 个答案:

没有答案