我尝试将WebPart作为资源包含JavaScript文件非常困难。 Web部件类和flexidgrid.js文件都位于项目的根级别。 Web部件在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 ###
}
}
DisplaySearchResults的AssemblyInfo.cs如下所示:
[assembly: WebResource("DisplaySearchResults.flexigrid.js", "text/javascript")]
但由于某种原因,WebResource.axd文件仍然是404.
答案 0 :(得分:0)
确保文件的Build Action在该文件的属性中设置为“Embedded Resource”。
答案 1 :(得分:0)
我已经设置了嵌入式资源 - 事实证明我需要完全限定的程序集名称 - Company.UI.Web.DisplaySearchResults - 我通过右键单击项目的属性菜单获得了该名称。在应用程序选项卡上,有正确的程序集名称。
所以,而不是:
[assembly: WebResource("DisplaySearchResults.flexigrid.js", "text/javascript")]
我应该说:
[assembly: WebResource("Company.UI.Web.DisplaySearchResults.flexigrid.js", "text/javascript")]