Webresource 404 Hell - не может получить JavaScript в веб -часть
-
27-10-2019 - |
Вопрос
Я очень старался включить файл 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.
Решение 2
Я уже установил встроенный ресурс - оказалось, что мне нужно полностью квалифицированное имя сборки - company.ui.web.displaysearchresults - которое я получил от правой щелчки в меню свойств проекта. На вкладке приложения есть правильное имя сборки.
Итак, вместо:
[assembly: WebResource("DisplaySearchResults.flexigrid.js", "text/javascript")]
Я должен был положить:
[assembly: WebResource("Company.UI.Web.DisplaySearchResults.flexigrid.js", "text/javascript")]
Другие советы
Убедитесь, что действие по сборке файла установлено для «встроенного ресурса» в свойствах для этого файла.