Domanda

Come modificare l'impostazione predefinita per Editor HTML ACT? voglio caricare editore con Originale Pulsante per esempio selezionato o con la direzione rtl invece di litri defaultly.
Come posso eseguire questo? I overrided metodo FillTopToolbar() aggiungere pulsanti personalizzati ma non so come modificare le impostazioni predefinite.
come litri di default viene selezionata voglio cambiarlo a RTL.

È stato utile?

Soluzione

Ho modificato la mia risposta per correggere alcune cose

Il HTMLEditor non fornisce un modo per impostare lo stato di tali pulsanti utilizzando il codice lato server. Anche se, sul client, inizializza utilizzando Sys.Application.load evento . Se è stato eseguito il codice dopo che i loro initializers, ma prima che l'utente interagisce con l'interfaccia utente, è possibile impostare qualunque proprietà che si desidera impostare in questo gestore di eventi.

Ecco il codice è necessario impostare il pulsante grassetto ei pulsanti RTL stati. Si può prendere da qui se si desidera modificare gli stati di altri pulsanti:

// Attach a handler to the load event.
Sys.Application.add_load(myOnLoadLoader);

function myOnLoadLoader() {
    //This will run JUST after ALL code that was set to run during the load event has run
    window.setTimeout(myOnLoad, 0);
}

function myOnLoad() {
    var editor = $find('<% =editor.ClientID %>');
    var toolbar = editor.get_changingToolbar();
    var toolbarButtons = toolbar.get_buttons();
    for (var i = 0; i < toolbarButtons.length; i++) {
        var toolbarButton = toolbarButtons[i];
        if (toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Rtl ||
        toolbarButton instanceof AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold) {
            toolbarButton.set_activeEditPanel(editor.get_editPanel());
            toolbarButton.callMethod();
        }
    }
}

Sys (e quindi Sys.Application) è uno spazio dei nomi che viene dal javascript ASP.Net AJAX (file (s) che vengono aggiunti grazie al ScriptManager che si aggiunge alla tua pagina). Se si utilizza questo, è necessario essere sicuri che questa linea Sys.Application.add_load(myOnLoad); corre dietro al file di carico ASP.Net AJAX. Si può fare questo un paio di modi:

  1. Aggiungi questo script più basso nella pagina rispetto alla ScriptManager.
  2. Spostare lo script in un file JS separato, e utilizzare lo ScriptManager per caricarlo (consigliato).

Se si sposta lo script in un file separato, si noterà che var editor = $find('<% =youreditor.ClientID %>'); non funziona più. Questo perché i file JavaScript non analizzano i tag server e sostituirli con il valore lato server (come pagine aspx fanno). Così la parte che è un problema qui è <% =youreditor.ClientID %>.

Per risolvere questo, ecco cosa dovete fare:

Aggiungi questo al vostro codice aspx (nella sezione head):

<script language="javascript">
    var myEditorId = '<%= youreditor.ClientID %>';
</script>

Quindi sembra qualcosa di simile:

<head runat="server">
    <script language="javascript">
        var myEditorId = '<%= youreditor.ClientID %>';
    </script>
<title></title>
</head>

(Se si utilizza una pagina master, ti basta aggiungere il tag script sotto lo ScriptManager nella tua pagina)

E nel file JS, sostituire il

var editor = $find('<% =youreditor.ClientID %>');

con questo

var editor = $find(myEditorId);

Altri suggerimenti

Sarà necessario fare questo usando i CSS come il controllo editor non supporta in modo nativo RTL. Il seguente CSS imposterà direzione rtl -

div
{
    direction:rtl;
}

Gli stili di default per l'editor HTML possono essere trovati nel file editor.css.

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