Как предотвратить Ctrl-V в редакторе пользовательских инструментов AJAX? - PullRequest
0 голосов
/ 20 февраля 2011

Привет! Я успешно создал специальный набор инструментов ajax с несколькими кнопками на панели инструментов нижнего колонтитула, как мне хотелось бы.Теперь я также хочу избежать crtl-v и вставки правой кнопкой мыши, но искал, искал и пробовал все безрезультатно ... Может быть, кто-то может привести меня на правильный путь, я надеюсь:)

Здесьниже приведен мой код (используется с c # на веб-страницах asp.net), который позволяет редактору управлять.Первая часть работает, но последняя часть с клавиатурой не работает и, возможно, совершенно не так?

С уважением, Ларс, Дания

Мой код:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Windows.Forms;
using AjaxControlToolkit.HTMLEditor;


/// <summary>
/// Særlig editor tilrettet behovet hos Boost Company
/// </summary>

namespace AjaxControlToolkit.HTMLEditor.BoostToolbarButton
{
    public class Bold : AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold
    {
        public override string ToolTip
        {
            get { return "Fed"; }
        }
    }
    public class Italic : AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic
    {
    public override string ToolTip
        {
            get { return "Kursiv"; }
        }
    }
    public class Cut : AjaxControlToolkit.HTMLEditor.ToolbarButton.Cut
    {
        public override string ToolTip
        {
            get { return "Klip"; }
        }
    }
    public class Copy : AjaxControlToolkit.HTMLEditor.ToolbarButton.Copy
    {
        public override string ToolTip
        {
            get { return "Kopier"; }
        }
    }
    public class PasteText : AjaxControlToolkit.HTMLEditor.ToolbarButton.PasteText
    {
        public override string ToolTip
        {
            get { return "Indsæt"; }
        }
    }
    public class InsertLink : AjaxControlToolkit.HTMLEditor.ToolbarButton.InsertLink
    {
        public override string ToolTip
        {
            get { return "Indsæt/ret link"; }
        }
    }
}

namespace BoostKontroller
{

public class BoostEditor : Editor
{
    protected override void FillTopToolbar()
    {
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.Bold());
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.Italic());
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.Cut());
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.Copy());
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.PasteText());
        TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.BoostToolbarButton.InsertLink());
    }

    protected override void FillBottomToolbar()
    {

    }

    void OnKeyDown(KeyEventArgs e)
    {

        if (e.Control && e.KeyCode == Keys.V)
        {
             Clipboard.SetText(string .Empty); ;
        }

    }

}
}

1 Ответ

1 голос
/ 17 мая 2011

Вы можете сделать это:

$find(sControlId).get_editPanel().get_activePanel()._doc.body.onpaste = 
  function onPasteFunction()
  {
    $find(sControlId).get_editPanel().get_activePanel()._paste(false, false);
    return false;
  }

_paste(false, false); для вставки обычного текста, если вы хотите вставить слово, функция: _paste(true, true);

sControlId - это идентификатор клиента редактора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...