0

<%# Eval("Status") %> を使用して取得した値があり、クラスまたはコード ビハインドを使用せずに、このケースを ascx コントロールでインラインに切り替えたいと考えています。switch ケースは、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;
 }        
%>

エラー error 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 に答える