0

我有一个使用 <%# Eval("Status") %> 检索的值,我想在 ascx 控件中内联切换这种情况,而不使用后面的类或代码。switch case 请求 Enum、Interface 或 Struc 失败。

<span class="label <%# GetStatus(Eval("Status").ToString()) %>">
  <%# Eval("Request_RequestStatus") %>
</span>
<%# 
protected String GetStatus(string stat) {

  var status = String.Empty;
   switch (stat)
   {
       case "New":
           status = "label-new";
           break;
       case "Approved":
           status = "label-approved";
           break;
       case "InProgress":
           status = "label-important";
           break;
       case "Overdue":
           status = "label-warning";
           break;
       case "Pending":
           status = "label-info";
           break;
       case "Completed":
           status = String.Empty;
           break;
       default:
           break;
   }   
    return status;
 }        
%>

错误错误 CS1513: } 预期

4

1 回答 1

1

你的GetStatus()函数应该用

<script runat=server>
  protected String GetStatus(){...}
</script>

有关代码块的更多详细信息可以在msdn中找到

最好使用类似的东西(Container.DataItem as YourEntity).Status而不是Eval

于 2013-09-02T18:31:12.537 回答