Custom New Form: problemi con la chiusura della Dialog al Submit/Cancel

Posted on January 4, 2013

0


Ancora non mi era capitato, per cui scrivo due righe per evitare – a me e forse a qualcun altro – la ricerca della soluzione.

Problema

Ho personalizzato la pagina NewForm.aspx di una lista ed il risultato è stato che:

1)  al click sul bottone di Submit, la Dialog non si chiudeva (mentre il contenuto della form veniva correttamente salvato nella lista)

2) al click sul bottone di Cancel, la Dialog non si chiudeva

Causa

Il problema nasce dal modo in cui ho personalizzato la form.

Non ho creato una nuova pagina ASPX (ex. CustomNewForm.aspx), ma ho personalizzato l’esistente (NewForm.aspx),  nascondendo la ListForm Web Part presente in pagina (agendo sull’attributo Hidden della Web Part) e aggiungendo una DataForm Web Part utilizzando il comando presente nel ribbon di SharePoint Designer.

image

Soluzione

Le possibili soluzioni sono due.

La prima consiste nel modificare il codice generato da SharePoint designer per i bottoni.

SharePoint Designer genera questo codice:

<td nowrap=”nowrap” class=”ms-vb”>

   <input type=”button” value=”Save” name=”btnSave” onclick=”javascript: {ddwrt:GenFireServerEvent(‘__commit’)}” />

</td>

<td nowrap=”nowrap” class=”ms-vb” width=”99%”>

  <input type=”button” value=”Cancel” name=”btnCancel” onclick=”javascript: {ddwrt:GenFireServerEvent(‘__cancel’)}” />

</td>

Da sostituire con questo:

<td nowrap=”nowrap” class=”ms-vb”>

  <SharePoint:SaveButton runat=”server” ControlMode=”Edit” id=”savebutton2″/>

</td>

<td nowrap=”nowrap” class=”ms-vb” width=”99%”>

   <SharePoint:GoBackButton runat=”server” ControlMode=”Edit” id=”gobackbutton2″/>

</td>

La seconda soluzione consiste nel creare sempre una nuova pagina ASPX per le custom form, utilizzando, i comandi che SharePoint Designer mette a disposizione nella pagina di accesso alla lista .

image

Basta poi impostare la nuova pagina creata per il Custom Form come predefinita (Default = Yes).

In questo caso la form generata presenta i bottoni che invece abbiamo dovuto sostituire a mano nel caso precedente.

Considerazioni

Io uso indistintamente entrambi i metodi per la generazione di custom form.

Sia in SharePoint 2007 che in SharePoint 2010.

Ed entrambi i metodi sono consigliati da Microsoft (http://office.microsoft.com/en-us/sharepoint-designer-help/create-a-custom-list-form-using-sharepoint-designer-HA010378258.aspx ).

Advertisements
Posted in: SharePoint