Query form responses

You can retrieve a single or all responses to a form by querying via specific criterion. You can get responses by:

  • Response ID
  • A specific form name
  • Get all responses

Query form response by response ID

To find a specific form response, you use the FormsManager instance and the GetFormEntry method. The method has two parameters - entryType and entryId. The following code demonstrates how to find a specific form response by response ID. If there is no form response with the specified ID, the result is null. If there is a form response with the specified ID, the method retrieves the entryType and gets the form entry by entryId:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Forms.Model;
using Telerik.Sitefinity.Modules.Forms;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Forms
{
public partial class FormsSnippets
{
public static FormEntry GetFormResponseById(Guid entryId)
{
FormsManager formsManager = FormsManager.GetManager();
var form = formsManager.GetFormByName("sf_testform1");
if (form != null)
{
string entryType = String.Format("{0}.{1}", formsManager.Provider.FormsNamespace, form.Name);
return formsManager.GetFormEntry(entryType, entryId);
}
else return null;
}
}
}

Query all form responses for a specific form

You can retrieve all responses for a specific form by querying the responses via form name or form ID. To retrieve all responses for a specific form, you use the FormsManager class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Forms.Model;
using Telerik.Sitefinity.Modules.Forms;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Forms
{
public partial class FormsSnippets
{
public static IQueryable<FormEntry> GetFormResponsesForSpecificForm(string formName)
{
FormsManager formsManager = FormsManager.GetManager();
//here you can also use the GetForm(Guid id) method of the formsManager the get a specific form
var form = formsManager.GetFormByName(formName);
if (form != null)
{
return formsManager.GetFormEntries(new FormDescription(form.Name));
}
return null;
}
}
}


In the code above, you first initialize the FormsManager class. Next, you call the GetFormByName method to retrieve the required form. You can also use the GetForm method by specifying the ID of the form instead of using the form name the name. Once the specified form is retrieved, you call the GetFormEntries method. This method requires a FormDescription instance as parameter. You can create an instance of the FormDescription and pass the form name in the constructor as is demonstrated by the code above. 

Get all form responses

To retrieve all responses for all forms, you use the FormsManager class:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Telerik.Sitefinity.Forms.Model;
using Telerik.Sitefinity.Modules.Forms;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Forms
{
public partial class FormsSnippets
{
public static IQueryable<FormEntry> GetAllFormResponses(string entryType)
{
FormsManager formsManager = FormsManager.GetManager();
return formsManager.GetFormEntries(entryType);
}
}
}


In the code above, you first initialize the FormsManager class. Next, you call the GetFormEntries method to retrieve all form response entries by passing the entryType parameter.


Want to learn more?

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?