Domanda

Sto cercando di esportare un controllo di libreria .dll per gli altri sviluppatori in ufficio a consumare.

La soluzione che ho originale creato simile a questo:

Soluzione 1:
- La risonanza magnetica.Controlli (Class Library)
- La risonanza magnetica.FmTool (Applicazione Web)

La risonanza magnetica.FmTool riferimenti risonanza magnetica.Controlli.

All'Interno Di Risonanza Magnetica.I controlli, ho un po ' di javascript WebResources.La risonanza magnetica.FmTool sembra di leggere il WebResources bene, tutti i miei javascript web risorse appaiono come dovrebbero quando la risonanza magnetica.FmTool web app è in esecuzione.

Così, ora stavo cercando di creare una soluzione semplice per consumare la risonanza magnetica.FmTool

Soluzione 2:
- La risonanza magnetica.ConsumerTest (Applicazione Web)

Ho preso l'ultima Mri.Controls.dll e ha aggiunto come riferimento per la risonanza magnetica.ConsumerTest applicazione.Tutti i controlli da Mri.Controlli sembrano essere di lavoro all'interno di risonanza magnetica.ConsumerTest.Intellisense di lavoro, compila, senza problemi.

Tuttavia, quando si esegue, il più delle WebResource.i file axd sono vuote, solo vuoto.Uno WebResource.axd file non è vuoto, si dice semplicemente "Questa risorsa non può essere trovato".

Qui ci sono le proprietà di un file javascript all'interno della finestra delle Proprietà:
Costruire L'Azione:"Embedded Resource"
Copia nella Directory di Output:"Copia di sempre"

Quale passaggio mi manca?

È stato utile?

Soluzione 3

Ho notato che il mio WebResource, CSS file sono stati caricati correttamente, ma Javascript non era caricamento in WebResource nella nuova soluzione.

Così, invece di utilizzare la Sistema.Web.Interfaccia utente.ClientScriptManager utilizzato per registrare il WebResources, sono passato oltre all'utilizzo di Sistema.Web.Interfaccia utente.ScriptManager.Ora i file sono ScriptManager.axd (invece di WebResource.axd).Questo sembrava risolvere il problema.

Vecchio Codice prima 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");
    }
}

Il frammento di codice sopra utilizza il Sistema.Web.Interfaccia utente.ClientScriptManager

Nuovo Codice dopo il 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");
    }
}

Il frammento di codice sopra utilizza il Sistema.Web.Interfaccia utente.ScriptManager

Dalla mia comprensione, ClientScriptManager è stato introdotto nella versione 2.0.Credo ScriptManager è la nuova versione migliorata 3.5 modo di gestire gli script che ha un sacco di funzionalità in più.

/shrug

Altri suggerimenti

Probabilmente manca il [assembly: WebResource ( "YourNameSpace.YourFile.js", "text / javascript")] attributo. WebResource.axd bisogno quell'attributo. È possibile controllare questo articolo KB per ulteriori informazioni al riguardo.

sono le risorse impostato per essere parte della DLL?

Aprire le Mri.Controls soluzione e visualizzare le proprietà dei file di risorse javascript.
Penso che è dove il problema potrebbe essere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top