DNN WebResource.axd не найден для пользовательского элемента управления

Я создал собственный элемент управления и хочу добавить в него встроенный файл js. Я думаю, что все сделал правильно, и элементы управления компилируются, как и ожидалось.

Я пометил файл js для действия сборки «Встроенный ресурс».

Упрощенное управление:

[assembly: WebResource("GoogleMapsLegend.js", "application/javascript", PerformSubstitution = true)] 
namespace CustomControls
{
    public class GoogleMapsLegend : WebControl
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            this.Page.ClientScript.RegisterClientScriptInclude(typeof(CustomControls.GoogleMapsLegend), "GoogleMapsLegend", Page.ClientScript.GetWebResourceUrl(typeof(CustomControls.GoogleMapsLegend), "GoogleMapsLegend.js")); 
        }
    }
}

Когда я запускаю элемент управления в среде DotNetNuke, я получаю ошибку 404.

Не удалось загрузить ресурс: сервер ответил со статусом 404 (не найдено) http://testenvironment.dev.nl/WebResource.axd?d=9ubkUMGTBWycKhgQIG5UHmzbPQjp5hcuPdO…jQr5YlIXdwqph6fJIVdtyKxWHJnyuIP44D9akltG8kiDFVFdwSND0&t=635122452802549563

Есть ли дополнительные настройки, которые мне нужно указать в файле web.config?

Я попытался добавить следующее в web.config, но пока безуспешно.

<add verb="*" path="WebResource.axd" validate="true" type="System.Web.Handlers.AssemblyResourceLoader" />

Возможен ли конфликт с Telerik.Web.UI.WebResource.axd?


person Mark    schedule 16.08.2013    source источник


Ответы (1)


Я не уверен, но похоже, что строка, которую вы используете для регистрации скрипта, может быть неправильной. Если я прав, где у вас есть «GoogleMapsLegend.js», вам нужно пространство имен/путь перед ним.

Итак, если файл находится в подкаталоге, таком как «JavaScript», я думаю, что это должно читаться

"Пространство имен.Javascript.GoogleMapsLegend.js"

Я могу ошибаться здесь, но я использовал эту статью в прошлом для этого: http://weblogs.asp.net/briandukes/archive/2009/06/08/embedding-javascript-and-other-ресурсы-в-сетевой-сборке.aspx

person braindice    schedule 17.08.2013
comment
Работает отлично! Не знаю, это пространство имен или RegisterClientScriptResource вместо RegisterClientScriptInclude, но теперь это работает. Спасибо! - person Mark; 19.08.2013