WebResource 404 Hell — не удается включить JavaScript в веб-часть

#javascript #.net #assemblies #http-status-code-404 #webresource

#javascript #.net #сборки #http-status-code-404 #webresource

Вопрос:

Я очень старался включить файл JavaScript в свой веб-раздел в качестве ресурса. Класс веб-части и flexidgrid.js оба файла находятся на корневом уровне проекта. Веб-часть создается в DisplaySearchResults.js:

 namespace DisplaySearchResults
{

    public class DisplaySearchResults :  WebPart
    {

        ### Hidden Irrelevant Stuff Here ###


        protected override void CreateChildControls()
        {
            ### Hidden Irrelevant Stuff Here ###


            ### Load JavaScript Code Here ###

            string scriptURL = Page.ClientScript.GetWebResourceUrl(typeof(DisplaySearchResults), "DisplaySearchResults.flexigrid.js");
            ClientScriptManager cs = Page.ClientScript;

            if (!cs.IsClientScriptBlockRegistered(ByeByeIncludeScriptKey))
                cs.RegisterClientScriptInclude(this.GetType(), ByeByeIncludeScriptKey, scriptURL);
        }

            ### Hidden Irrelevant Stuff Here ###


    }


}
  

AssemblyInfo.cs для DisplaySearchResults выглядит следующим образом:

 [assembly: WebResource("DisplaySearchResults.flexigrid.js", "text/javascript")]
  

Но по какой-то причине файл WebResource.axd по-прежнему отображается как 404.

Ответ №1:

Убедитесь, что для действия сборки файла установлено значение «Встроенный ресурс» в свойствах этого файла.

Ответ №2:

Я уже установил встроенный ресурс — оказалось, мне нужно полное имя сборки — Company.UI.Web.DisplaySearchResults, которое я получил, щелкнув правой кнопкой мыши в меню свойств проекта. На вкладке приложения есть правильное имя сборки.

Итак, вместо:

 [assembly: WebResource("DisplaySearchResults.flexigrid.js", "text/javascript")]
  

Я должен был поставить:

 [assembly: WebResource("Company.UI.Web.DisplaySearchResults.flexigrid.js", "text/javascript")]