Pergunta

Eu estou tentando definir o valor para BooleanField no meu personalizada NewForm.Se eu tentar fazê-lo a partir de code-behind, visualmente não muda, mas quando o item será salvo este campo ficará em branco (nem verdadeiro nem falso):

ASPX:

<SharePoint:BooleanField runat="server" FieldName="boolField" ControlMode="New" ID="MyCustomField"/>

ASPX.CS (invoca no método OnLoad):

if (!SPContext.Current.Web.CurrentUser.IsSiteAdmin) // For example
{
    MyCustomField.Value = true; // Visually no changes
    MyCustomField.UpdateFieldValueInItem(); // Still nothing
}

Eu até tentei definir .aspx (e tem "mensagem de erro do Analisador"):

<SharePoint:BooleanField runat="server" FieldName="boolField" ControlMode="New" ID="MyCustomField" Value="TRUE"/>

No entanto, se vou tentar alterar o Campo de qualquer outro tipo (NumberField, por exemplo), tudo vai estar OK.

Onde estou errado, e como posso fazê-lo a partir de code-behind (ou pelo menos em aspx)?

Obrigado antecipadamente!=)

Foi útil?

Solução

Alex,

Você deve definir o controle de como a seguir:

MyCustomField.ItemFieldValue = "1";
MyCustomField.Field.DefaultValue = "1";

Onde 1 é verdade, e 0 é para false

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top