Pregunta

Estoy tratando de establecer valor para Booleanfield en mi Newform Custom. Si trato de hacerlo desde CodeBehind, visualmente no cambia, pero cuando se guardará el artículo, este campo estará vacío (ni verdadero ni falso):

aspx:

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

aspx.cs (invoca en el método de Onload):

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

Incluso intenté establecer en .aspx (y obtuve el mensaje de error del analizador "):

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

Sin embargo, si intento cambiar el campo de cualquier otro tipo (campo Número, por ejemplo), todo estará bien.

¿Dónde estoy equivocado y, y cómo puedo hacerlo desde CodeBehind (o al menos en ASPX)?

¡Gracias de antemano!=)

¿Fue útil?

Solución

Alex,

You should set the control as follow:

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

Where 1 is for true, and 0 is for false

Licenciado bajo: CC-BY-SA con atribución
scroll top