У меня есть два проекта, один - контрольная библиотека, а другой - мой основной проект. Из библиотеки элементов управления в настоящее время я использую пользовательский элемент управления и некоторые 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 из другой сборки в другой проект?