Query forum posts
This topic contains the following:
- Querying a single post
- Querying posts from a thread
- Querying all posts
Querying a single post
To query a single post, you must perform the following:
- Get an instance of the manager.
Get an instance of theForumsManagerobject. - Get the specified post.
To get the specified post, you can either call theGetPostmethod of the manager and pass the ID of the post as an argument, or call theGetPostsmethod of the manager and filter the collection by the ID or the name of the post.
Here is a code example of using the GetPost method:
C#
using System;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumPosts_GetPost
{
public static ForumPost GetPost(Guid postId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
ForumPost post = forumsManager.GetPost(postId);
return post;
}
}
}
NOTE: If the post does not exist, the method throws an exception of type
Telerik.Sitefinity.SitefinityExceptions.ItemNotFoundException.
Here is a code example of using the GetPosts method:
C#
using System;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumPosts_GetPostAlternative
{
public static ForumPost GetPostAlternative(Guid postId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
ForumPost post = forumsManager.GetPosts().Where(p => p.Id == postId).SingleOrDefault();
return post;
}
}
}
Querying all posts from a thread
To query all posts from a thread, you must perform the following:
- Get an instance of the manager.
Get an instance of theForumsManagerobject. - Get the posts.
To get the posts, you must call theGetPostsmethod of the manager and filter the query by the ID of the thread.
Here is a code example:
C#
using System;
using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumPosts_GetPostsByThread
{
public static List<ForumPost> GetPostsByThread(Guid threadId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
List<ForumPost> posts = forumsManager.GetPosts().Where(p => p.Thread != null && p.Thread.Id == threadId).ToList();
return posts;
}
}
}
NOTE: Because it is possible to have a post without a thread, you must make a check whether the
Threadproperty is null.
Querying all posts
To query all threads, you must perform the following:
- Get an instance of the manager.
Get an instance of theForumsManagerobject. - Get the posts.
To get the posts, you must call theGetPostsmethod of the manager.
Here is a code example:
C#
using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumPosts_GetPosts
{
public static List<ForumPost> GetPosts()
{
ForumsManager forumsManager = ForumsManager.GetManager();
List<ForumPost> post = forumsManager.GetPosts().ToList();
return post;
}
}
}
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
Get started with Integration Hub | Sitefinity Cloud
This free lesson teaches administrators, marketers, and other business professionals how to use Sitefinity Integration Hub to create automated workflows between Sitefinity and other business systems.
Web Security for Sitefinity Administrators
This free lesson teaches administrators the basics about protecting your Sitefinity instance and your 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 ASP.NET Core and take advantage of its decoupled architecture and modern development model.