Vra

Ek probeer om 'n beheer biblioteek uitvoer in 'n DLL vir ander ontwikkelaars in die kantoor om te verteer.

Die oplossing Ek oorspronklike geskep lyk soos volg:

Oplossing 1:
 - Mri.Controls (Klas Biblioteek)
 - Mri.FmTool (Web Aansoek)

Mri.FmTool verwysings Mri.Controls.

Binne Mri.Controls, ek het 'n paar javascript Webresources. Mri.FmTool lyk die Webresources lees net mooi, al my javascript web resources verskyn as hulle moet toe Mri.FmTool web program loop nie.

So, nou ek het probeer om 'n eenvoudige oplossing vir Mri.FmTool verteer skep

Oplossing 2:
 - Mri.ConsumerTest (Web Aansoek)

Ek het die nuutste Mri.Controls.dll en bygevoeg dit as 'n verwysing na Mri.ConsumerTest aansoek. Al die kontroles van Mri.Controls blyk te wees werk binne Mri.ConsumerTest. IntelliSense werk, dit stel, geen probleme.

Maar toe loop dit, die meeste van die WebResource.axd lêers is leeg, net leeg. Een WebResource.axd lêer is nie leeg, dit eenvoudig sê "Hierdie hulpbron kan nie gevind word nie."

Hier is die eienskappe van die javascript lêers in die venster Properties:
Bou Aksie: "Embedded Resource"
Kopieer na Uitgawe Gids: "Copy altyd"

Wat stap ek mis?

Was dit nuttig?

Oplossing 3

Ek het opgemerk dat my WebResource CSS lêers behoorlik laai, maar Javascript is nie laai in WebResource in die nuwe oplossing.

So, in plaas van die gebruik van die System.Web.UI. ClientScriptManager gebruik om die Webresources registreer, ek oorgeskakel na die gebruik van System.Web.UI. Skip Bestuurder . Nou die lêers uit te kom van ScriptManager.axd (in plaas van WebResource.axd ). Dit was die probleem op te los.

Ou Kode voor Fix:

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        Page.ClientScript.RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

Die bostaande kode uit gebruik System.Web.UI.ClientScriptManager

Nuwe Kode na Fix:

public class ScriptManagerExtension : System.Web.UI.ScriptManager
{
    protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        RegisterClientScriptResource(this, typeof(ScriptManagerExtension), "Mri.Controls.Resources.Scripts.Libraries.jQuery.js");
    }
}

Die bostaande kode uit gebruik System.Web.UI.ScriptManager

Van my verstand is ClientScriptManager bekendgestel in 2.0. Ek glo Skip Bestuurder is die nuwe verbeterde 3.5 manier van die bestuur van skrifte wat 'n baie meer funksies het.

/ skouers

Ander wenke

Jy is waarskynlik ontbreek die [vergadering: WebResource ( "YourNameSpace.YourFile.js", "text / javascript")] kenmerk. WebResource.axd nodig dat kenmerk. Jy kan kyk hierdie KB artikel vir addisionele inligting oor die saak.

Is die hulpbronne stel om deel van die DLL wees?

Maak die oplossing Mri.Controls & sien die eienskappe van jou JavaScript hulpbron lêers.
Ek dink dit is waar die probleem kan wees.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top