ASP.NET MVC, ActionFilters, статические классы и раздающие данные

Если я правильно понимаю ваш вопрос, вы хотите, чтобы позиции в CKEditor 5 представляли собой одно целочисленное смещение от начала документа. Так же, как изначально в текстовой текстовой области.

Хотя было бы возможно рассчитать такое смещение в CKEditor 5 (суммируя длины всех элементов, предшествующих выделению), это не имеет особого смысла. В CKEditor 5 позиций представлены массивами смещений. Это представление позволяет легко и быстро найти местоположение в дереве. С единственным смещением, которое было бы сложным и медленным.

Концепция положений и смещений объясняется в документации , и я бы рекомендовал изменить образ мышления при работе с моделью CKEditor 5. Это больше не простой текст, и думать о нем, как о содержании textarea, у вас не получится.

6
задан User 3 May 2009 в 19:52
поделиться

2 ответа

Я обнаружил, что использование ActionParameters делает ваш код очень легко тестируемым. Вы можете сделать это так:

// inside your actionfilter
public override void OnActionExecuting(ActionExecutinContext context)
{
    var someData = // ... load some data

    context.ActionParameters["someData"] = someData;
}


// and then in your action method
[ProvideSomeData]
public ViewResult Index(SomeData someData)
{
    // someData will be populated in here
}
8
ответ дан 9 December 2019 в 22:39
поделиться

re: # 2

Просто хочу отметить, что проблема со статическим полем состоит в том, что все запросы будут использовать одно и то же статическое поле. Если у вас есть два запроса, выполняющихся одновременно, всегда есть вероятность, что запрос B перезапишет значение запроса A, и вы будете использовать неправильное значение при выполнении действия для запроса A.

Я бы не использовал статические члены для хранения информации, специфичной для запроса.

3
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: