volume_up

A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

volume_up

A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Default value of Property Page

Hi.

I'm trying to set the default value of the Page property to "The current page" but I can't get it to work.

Seeing as pressing the button for "The current page" sets the value of the hidden field to a dash (-), I thought that a dash could be used in the default value field, but I was wrong..

Has anyone else succeeded, hopefully in a simple way, to set the default value of the page property to the current page being created?

#56945
Feb 17, 2012 11:30

Hi Kim, 

I assume you're using PTB? In that case, adding the following code to your Global.asax will make it possible for you to set DefaultValue="-" as a reference to itself.

protected void Application_Start(Object sender, EventArgs e)
{
    ...
    ...
    DataFactory.Instance.LoadedDefaultPageData += new PageEventHandler(Instance_LoadedDefaultPageData);
}

void Instance_LoadedDefaultPageData(object sender, PageEventArgs e)
{
    if (e.Page is PageTypeBuilder.TypedPageData)
    {
        var query = from props in e.Page.GetType().BaseType.GetProperties()
                    let ptbDefaultValues = props.GetCustomAttributes(typeof(PageTypePropertyAttribute), true).OfType<PageTypePropertyAttribute>().Where(a => a.DefaultValue != null && !string.IsNullOrEmpty(a.DefaultValue as string)).ToList()
                    where e.Page[props.Name] == null //Property has no default value from DataFactory
                    && ptbDefaultValues.Count > 0
                    select new { props.Name, ptbDefaultValues.FirstOrDefault().DefaultValue };

        foreach (var prop in query)
        {
            e.Page.Property[prop.Name].ParseToSelf(prop.DefaultValue.ToString());
        }
    }
}

    

Hope this helps, let me know if you have any questions on this piece of code!

Karoline

#56978
Edited, Feb 20, 2012 11:33
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.