1
public enum CandidateStatus : int {

    None = 0,

    Invalid = 1,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Pending Approval")]
    PendingApproval = 2,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Open")]
    Open = 4,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Screening")]
    Screening = 8,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Interviewing")]
    Interviewing = 16,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Offers Issued")]
    OffersIssued = 32,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Hired")]
    Hired = 64,

    [Microsoft.SharePoint.Linq.ChoiceAttribute(Value="Cancelled")]
    Cancelled = 128,
}

这是我在 linq.cs 文件中的枚举代码。

此处 CandidateStatus 是在 Sharepoint 列表中定义的选择列。如何在下拉列表中绑定“CandidateStatus”的选择字段以及如何将此选定的下拉值插入到 Sharepoint 列表中?请问有人可以帮忙吗......

4

1 回答 1

2

我认为您唯一的选择是将枚举值映射到一个对象:

myDropDown.TextField = "Value";
myDropDown.ValueField = "ID";

myDropDown.DataSource = ((CandidateStatus []) Enum.GetValues(typeof(CandidateStatus))
   .Select(c => new {
                      ID = (int)c, 
                      Value = ( typeof(CandidateStatus)
                       .GetField(c.ToString())
                       .GetCustomAttributes(
                         typeof(Microsoft.SharePoint.Linq.ChoiceAttribute), false) 
                           as EnumStringValueAttribute[]).FirstOrDefault() 
                        ?? c.ToString()
                    });
myDropDown.DataBind();
于 2012-06-19T11:15:02.517 回答