Services Partners Company
Knowledge Base


Article

IDynamicContentCreatingEvent is also called when editing an Item

« Go Back

Information

 
EnvironmentProduct: Sitefinity
Version: 7.x, 8.x, 9.x, 10.x
OS: All supported OS versions
Database: All supported Microsoft SQL Server versions
Question/Problem Description
When try and edit a created item (which has some fields missing) it goes into the IDynamicContentCreatingEvent event before the item can be edited and since there are fields missing it throws an exception and  goes back to the list page of the dynamic type. As a result the Item cannot be edited.
Steps to Reproduce
Clarifying Information
Error Message
Defect/Enhancement Number
Cause
The IDynamicContentCreatingEvent event fires for the Temp status of the item when you open a dynamic item for edit. These are temporary items which Sitefinity creates when you edit a content item and this is the reason why the creating event is raised. For more details about the content lifecycle and items' statuses see this article: http://docs.sitefinity.com/for-developers-content-lifecycle.
Resolution
Add an additional check in the event for the Status of the item and do not execute any logic when the item is in status Temp, e.g.:
 
private void IDynamicContentCreatingEvent(IDynamicContentCreatingEvent eventInfo)
{
  if (eventInfo.Item.Status != Telerik.Sitefinity.GenericContent.Model.ContentLifecycleStatus.Temp)
    {
       // execute your custom logic here

       var userId = eventInfo.UserId;
       var dynamicContentItem = eventInfo.Item;
    } 
}

This way the custom logic will not be executed when a Temp item is being created when you open the item for edit.
Workaround
Notes
Attachment 
Last Modified Date6/16/2017 1:47 PM
Disclaimer

The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.



Feedback
 
Was this article helpful?

   

Your feedback is appreciated.

Please tell us how we can make this article more useful.



Characters Remaining: 255