DotVVM не работает таким образом, элементы управления не имеют никакого состояния, и, следовательно, манипулирование ими в командах не имеет особого смысла. Элементы управления в DotVVM - это просто тонкие обертки вокруг HTML, которые отправляются клиенту при первом запросе. Поскольку в командах не генерируется HTML, изменения элементов управления не распространяются на браузер (кроме случаев использования свойства Postback.Update
в элементе управления)
Вы хотите сохранить состояние в модели представления, а затемданные связывают это с контролем. Я не уверен, что именно вы хотите сделать, поэтому предположим, что в некоторых случаях вы хотите выделить div
. Разметка (в файле dothtml) может выглядеть следующим образом:
<div Style-background-color="{value: IsHighlighted ? "#000fff" : "#c0c0c0"}">
...
</div>
или примерно так, если вы предпочитаете использовать класс css
<div Class-highlight="{value: IsHighlighted}">
...
</div>
Соответствующая модель представления будет просто содержатьсвойство IsHighlighted
и ваша команда просто присвоит ему true
:
public bool IsHighlighted { get; set; }
public void DoSomething() {
this.IsHighlighted = true;
}