У меня есть два проекта, один — это библиотека управления, а другой — мой основной проект. Из библиотеки элементов управления в настоящее время я использую пользовательский элемент управления и некоторые файлы css, встроенные в библиотеку элементов управления.
Я могу использовать встроенные файлы CSS в своем основном проекте, выполнив следующие действия в событии PreRender моего пользовательского элемента управления:
// Register the default CSS resource
string includeTemplate = "<link rel='stylesheet' text='text/css' href='{0}' />";
string includeLocation = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "MyCompany.ControlLibrary.WebNotify.WebNotify.css");
LiteralControl cssInclude = new LiteralControl(String.Format(includeTemplate, includeLocation));
((System.Web.UI.HtmlControls.HtmlHead)Page.Header).Controls.Add(cssInclude);
Я подумал, что тогда имеет смысл включить все мои файлы javascript аналогичным образом, поэтому я включил встроенный файл javascript, выполнив следующие действия:
// Register the js
string includeTemplate = "<script type='text/javascript' src='{0}'></script>";
string includeLocation = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "MyCompany.ControlLibrary.Scripts.MyScript.js");
LiteralControl jsInclude = new LiteralControl(String.Format(includeTemplate, includeLocation));
((System.Web.UI.HtmlControls.HtmlHead)Page.Header).Controls.Add(jsInclude);
Теперь все CSS работает отлично, однако мои функции JS выдают исключения Object Required при попытке их вызова.
Правильно ли я это делаю? Или есть лучший способ включить встроенный файл js из другой сборки в другой проект?