To get the Item that is used to place the particular Control to the page you can use a Shared Source Module called Sublayout Parameter Helper.
The module can be found here
If you want to retrieve the Item you could consider using the following setup:
Props:
public partial class Afbeeldingen : System.Web.UI.UserControl
{
/// <summary>
/// Datasource item of the current rendering
/// </summary>
private Sitecore.Data.Items.Item dataSource = null;
/// <summary>
/// Helper object to get the rendering params, datasource and rendering
/// </summary>
private SublayoutParamHelper paramHelper = null;
/// <summary>
/// Gets the data source item.
/// </summary>
/// <value>The data source item.</value>
public Sitecore.Data.Items.Item DataSourceItem
{
get
{
if (this.dataSource == null)
{
if (this.paramHelper.DataSourceItem != null)
{
this.dataSource = this.paramHelper.DataSourceItem;
}
else
{
this.dataSource = Sitecore.Context.Item;
}
}
return this.dataSource;
}
}
/// <summary>
/// Sets the data source.
/// </summary>
/// <value>The data source.</value>
public string DataSource
{
set
{
this.dataSource = Sitecore.Context.Database.Items[value];
}
}
Page_Load:
/// <summary>
/// Handles the Load event of the Page control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/></param>
protected void Page_Load(object sender, EventArgs e)
{
if (this.Parent is Sitecore.Web.UI.WebControls.Sublayout)
{
this.paramHelper = new SublayoutParamHelper(this, true);
}
if (this.paramHelper != null)
{
correctItem = paramHelper.DataSourceItem;
}
From there you have the Sub loaded in your correctItem.
Hope this helps. Hope I understood your question well enough.