Если кому-то интересно, я столкнулся не с проблемой Umbraco, а с тем, как связать файлы JS и CSS внутри ASP.NET. Во-первых, убедитесь, что все файлы CSS и JS настроены на встроенный ресурс. Над объявлением класса обязательно включите файлы в сборку:
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.colorbox.css", "text/css", PerformSubstitution = true)]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Scripts.jquery.colorbox-min.js", "text/javascript")]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Control.DoctypeSelector.js", "text/javascript")]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.images.border.png", "image/png")]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.images.controls.png", "image/png")]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.images.loading.gif", "image/gif")]
[assembly: WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.images.loading_background.png", "image/png")]
Убедитесь, что каждый тип файла объявлен правильно (т. Е. Text / javascript, text / css и т. Д.). «PerformSubstitution = true» позволяет динамически связывать эти элементы в самом CSS. Например, когда я хотел вызвать Control.png в CSS, я использовал:
<%=WebResource("Umbraco.Datatypes.DoctypeSelector.Styles.images.controls.png")%>
Наконец, вы включаете файлы в свой OnInit:
// Register colorbox css
string css = "<link href=\"" + Page.ClientScript.GetWebResourceUrl(typeof(DoctypeSelectorControl),"Umbraco.Datatypes.DoctypeSelector.Styles.colorbox.css") + "\" type=\"text/css\" rel=\"stylesheet\" />";
this.Page.ClientScript.RegisterClientScriptBlock(typeof(DoctypeSelectorControl), "cssFile", css, false);
// Register doctype javascript
this.Page.ClientScript.RegisterClientScriptInclude(
"Umbraco.Datatypes.DoctypeSelector.doctypeSelector.js",
this.Page.ClientScript.GetWebResourceUrl(typeof(DoctypeSelectorControl), "Umbraco.Datatypes.DoctypeSelector.Control.DoctypeSelector.js"));
Надеюсь, это поможет кому-то еще!