c\#에서 매 거 진 형식 지원 중국어 확장 설명


AuditEnum.cs :

public enum AuditEnum
{
   Holding=0,
  
    Auditing=1,

    Pass=2,

    Reject=3     
}

asp.net  ,   :
public void HandleAudit(int userID, AuditEnum ae)
{
  if (ae==AuditEnum.Pass)
  {
    //do something
  }
  else if (ae==AuditEnum.Reject)
  {
    //do other something
  }
}

asp.net  :    

 




 
 


 
 

해결 방법:매 거 진 항목 에 Description Attribute 를 추가 한 후 반 사 를 이용 하여 중국어 정 보 를 얻 습 니 다.
단계:
1.AuditEnum 을 정의 하 는 클래스 에 이름 공간 System.Component Model 을 추가 하고 모든 항목 에 Description Attribute 를 추가 합 니 다.예제 코드 는 다음 과 같 습 니 다.

using System.ComponentModel;

public enum AuditEnum
{
    [Description(" ")]
    Holding=0,  

  [Description(" ")]
    Auditing=1,

    [Description(" ")]
    Pass=2,

    [Description(" ")]
    Reject=3     
}

2.EnumService.cs 클래스 를 사용자 정의 하고 정적 방법 GetDescription()을 추가 하여 들 어 오 는 매개 값 에 따라 설명 정 보 를 읽 습 니 다.예제 코드 는 다음 과 같 습 니 다.

public class EnumService
{
    public static string GetDescription(Enum obj)
    {
        string objName = obj.ToString();
        Type t = obj.GetType();
        FieldInfo fi = t.GetField(objName);

        DescriptionAttribute[] arrDesc = (DescriptionAttribute[])fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
    
        return arrDesc[0].Description;
    }
}

3.출력 매 거 진 값 에 EnumService.GetDescription()호출 을 추가 합 니 다.예제 코드 는 다음 과 같 습 니 다.

asp.net :
<asp:Repeater ID="AuditRepeater" runat="server" OnItemDataBound="AuditRepeater_OnItemDataBound">
     <ItemTemplate>
         //something ui code is here ....
         <asp:Literal ID="AuditText" runat="server"></asp:Literal>
         //something ui code is here ....
     </ItemTemplate>
</asp:Repeater>


asp.net :
protected void AuditRepeater_OnItemDataBound(object sender, RepeaterItemEventArgs arg)
{
        if (arg.Item.ItemType == ListItemType.Item)
        {
        Literal audit = arg.Item.FindControl("AuditText") as Literal;

            AuditEnum ae = AuditEnum.Pass; // , AuditEnum.Pass           
            audit.Text = EnumService.GetDescription(we);
        }
}

전문 이 끝났다.
위의 코드 는 VS 2010 에서 실 행 됩 니 다.문제 가 있 으 면 아래 에 메 시 지 를 남 겨 주세요.마음 에 드 시 면 추천 을 눌 러 주세요.

좋은 웹페이지 즐겨찾기