Question

I'm trying to develop a custom field using the steps outlined here: http://www.sitefinity.com/documentation/documentationarticles/developers-guide/sitefinity-essentials/controls/types-of-controls/field-controls/building-a-custom-field-control

Unfortunately, I don't know how/where to include the client control js file, and it doesn't seem to say in the documentation. Can anyone explain how I might do this? I'm very new to Sitefinity dev (as in this is the first thing I've done) and web dev in general, so feel free to suggest things that "should be obvious"

I also asked this question on the Sitefinity forums - I'll be sure to copy the answer here if I get one there.

Was it helpful?

Solution

Ok, got it. First you need to set the processing options for the js file to Embedded Resource Then add it to the AssemblyInfo.cs:

[assembly: WebResource("namespace.filename.js", "text/javascript")]

Then override the GetScriptReferences method in the class that inherits from FieldControl:

public override IEnumerable<ScriptReference> GetScriptReferences()
{
    var baseReferences = new List<ScriptReference>(base.GetScriptReferences());
    var newRef = new ScriptReference(javascriptPath, this.GetType().Assembly.FullName);
    baseReferences.Add(newRef);
    return baseReferences;
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top