Вы не можете привести string
к System.Web.UI.WebControls.CheckBox
, поскольку они несовместимы.
Вам необходимо получить имя флажка из базы данных и найти его на своей странице.
Предполагая, что вы прочитали из базы данных имя "chkProduct", вам нужно сделать что-то вроде следующего, например:
(this.FindControl("chkProduct") as CheckBox).Checked=true;
Конечно, приведенный выше код небезопасен.Вы должны проверить NULL и т. Д. Возможно, ваш элемент управления вложен в другой контейнер, в этом случае вам нужно найти его рекурсивно.
Но в действительности вам не нужно ничего «находить», так как ваш флажокэлементы управления, вероятно, будут определены в вашей разметке (если вы не связываете их динамически).Если они определены в разметке, вы можете просто использовать оператор if / else:
if(name=="chkProduct")
chkProduct.Checked=true;
if(name=="chkColorRed")
chkColorRed.Checked=true;
И так далее ...