0

カスタム コントロールを作成し、それに組み込みの js ファイルを追加したいと考えています。私はすべてを正しく行ったと思います。コントロールは期待どおりにコンパイルされます。

js ファイルを Build Action "Embedded Resource" にマークしました。

単純化されたコントロール:

[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 (見つかりません) のステータスで応答し まし

web.config に追加する必要がある設定はありますか?

以下をweb.configに追加しようとしましたが、今のところうまくいきません。

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

Telerik.Web.UI.WebResource.axd と競合する可能性はありますか?

4

1 に答える 1

1

よくわかりませんが、スクリプトの登録に使用している行が間違っている可能性があります。「GoogleMapsLegend.js」がある場所が正しければ、その前に名前空間/パスが必要です

したがって、ファイルが「JavaScript」のようなサブディレクトリにある場合は、次のように読む必要があると思います

「名前空間.Javascript.GoogleMapsLegend.js」

ここで間違っているかもしれませんが、過去にこの記事を使用しました: http://weblogs.asp.net/briandukes/archive/2009/06/08/embedding-javascript-and-other-resources-in-a -net-assembly.aspx

于 2013-08-17T04:34:46.657 に答える