TinyMCE Проверка орфографии в ASP .NET MVC - PullRequest
3 голосов
/ 14 июля 2009

Я следовал инструкциям, описанным здесь , чтобы заставить TinyMCE Spellchecker работать в приложении Webforms. Но я пытался делать то же самое в проекте MVC и продолжаю получать ошибки каждый раз, когда пытаюсь использовать проверку орфографии.

Я хотел бы знать, какие изменения или корректировки мне нужно внести, чтобы добавить это слово в проект ASP .NET MVC.

Я получаю следующую ошибку:

[HttpException]: The controller for path '/TinyMCE.ashx' could not be found or it does not implement
 IController.
   at System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(Type controllerType)
   at System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String
 controllerName)
   at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContextBase httpContext)
   at System.Web.Mvc.MvcHandler.ProcessRequest(HttpContext httpContext)
   at System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest(HttpContext httpContext)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute
()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Ответы [ 2 ]

5 голосов
/ 14 июля 2009

Что ж, немного сложно понять, в чем проблема, не зная, какую ошибку вы получаете, но я предполагаю, что это потому, что вам нужно игнорировать маршрут к проверке орфографии в вашем MVC. Сделайте это, добавив что-то подобное в определения маршрута MVC:

//ignore just the TinyMCE spell checker service:
routes.IgnoreRoute("TinyMCE.ashx");
//or if you want to be more general & ignore all ashx's:
routes.IgnoreRoute("{resource}.ashx{*pathInfo}");

Без вышеуказанного это будет интерпретировать URL запроса проверки орфографии (TinyMCE.ashx...) как маршрут MVC и попытаться найти соответствующий контроллер (и, очевидно, не удастся).

Если это не проблема, я бы предложил опубликовать дополнительную информацию о конкретной ошибке, которую вы видите.

4 голосов
/ 15 марта 2013

Я довольно новичок в MVC (чуть больше года) и был довольно заинтересован в проверке орфографии для конкретной страницы в моем решении. Вышеуказанные параметры могут работать для некоторых людей, но не работают для меня (я не очень терпелив, и, честно говоря, не хотел игнорировать какие-либо маршруты, или изменить мой раздел system.web моей конфигурации для чего-то что будут использовать только 5% моих потребителей решений, поэтому я не тратил много времени на эти варианты).

Итак:

  1. Я скопировал файл Moxiecode.TinyMCE.dll в каталог в моем проекте, чтобы у будущих участников была dll без необходимости поиска в Google.
  2. Я добавил ссылку на вышеупомянутую dll в свой проект.
  3. Я создал новый контроллер под названием SpellCheckController.cs, который содержит следующее:

    public void CheckSpelling()
    {
        SpellCheckerModule spellChecker = new SpellCheckerModule();
        spellChecker.ProcessRequest(System.Web.HttpContext.Current);
    }
    

(не забудьте использовать Moxiecode.TinyMCE.SpellChecker;)

и просто ссылался на контроллер, как это в настройках TinyMCE на мой взгляд:

spellchecker_rpc_url: "@Url.Action("CheckSpelling","SpellCheck")/?module=SpellChecker"

Я не игнорировал ни одного маршрута. Я не добавил еще один обработчик http к довольно длинному списку обработчиков для .net, и теперь проверка орфографии работает для меня.

У меня также есть возможность работать с чем-то другим, не меняя слишком много (если предположить, что я выясняю, что делает проверка орфографии TinyMCE с контекстом http.

P.S. У расширенного текстового редактора Stack Overflow, похоже, нет функции проверки орфографии, поэтому нет никаких гарантий для вышеописанного написания:)

...