2013-08-16 84 views
0

我已經構建了一個自定義控件,並且想要爲其添加嵌入的js文件。我認爲我做的一切都正確,控件編譯如預期。找不到自定義控件的DNN WebResource.axd

我已標記的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有衝突?

回答

1

我不確定,但它看起來像你用來註冊腳本的行可能是錯誤的。 如果我是正確的,你必須「GoogleMapsLegend.js」你之前

因此,如果該文件是在像「的JavaScript」的一個子目錄,我認爲應該讀

「命名空間需要命名空間/路徑。完美http://weblogs.asp.net/briandukes/archive/2009/06/08/embedding-javascript-and-other-resources-in-a-net-assembly.aspx

+0

作品:Javascript.GoogleMapsLegend.js」

我可能是錯在這裏,但我已經使用這個文章在過去這個!不知道它是名稱空間還是RegisterClientScriptResource而不是RegisterClientScriptInclude,但它現在可用。謝謝! – Mark