#c# #asp.net #data-binding
#c# #asp.net #привязка данных
Вопрос:
Возможно ли вызвать метод, возвращающий значение void, в выражении привязки данных? (Например, для установки глобальной переменной.)
Следующее не компилируется:
<%# setCurrent(false) %> // Error: Cannot implicitly convert type 'void' to 'object'
Я мог бы изменить тип возвращаемого значения метода (например, заставить его возвращать нулевой объект), но это было бы мошенничеством.
Ответ №1:
Весь смысл привязки данных заключается в том, что значение возвращается для отображения. (отсюда ошибка)
Просто верните пустую строку 🙂
Ответ №2:
Я думаю, что постановка точки с запятой после вашего утверждения должна сделать его семантически правильным:
setCurrent(false);
Это не «привязка данных» как таковая, но это работает.
Комментарии:
1. Мне нужно что-то, что работает в разметке, а не в коде или блоке скрипта.
Ответ №3:
Это не очень элегантно, но выполняет свою работу:
<%# new Func<string>(() => { SomeVoidMethod(); return ""; })() %>