2010-05-15 2 views

ответ

0

Самый простой способ сделать это, вероятно, с помощью ASP.NET MVC встроенный ModelBinders, которые позволяют принять объект CLR, как вход в ваше действие, а среда MVC связывает все свойства для вас. Единственное требование - вы (по соглашению) назовите свои элементы формы после свойств входного объекта. Google «asp.net mvc model binder» для большого количества информации и руководств.

0

вы поставить часы на значение, которое вы пытаетесь конвертировать в boolean?

Я думаю, что его, скорее всего, что вам нужно сделать что-то вроде

FeatureEvents.bit_Activate = Convert.ToBoolean(collection["bit_Activate"].checked); 
+0

Не уверен, что это будет работать. Как компилятор должен знать, что 'collection [" bit_Active "]' имеет свойство '.Checked'? Я думаю, вам нужно отдать его на некоторое представление html флажка. –

1

Входной флажка не отображается в коллекции формы, если не остановить, так что следующее будет работать для вас:

FeatureEvents.bit_Activate = collection.Keys.Contains["bit_activate"]; 

Доброты,

Dan

PS: Помощник Html для флажка например, Html.Checkbox - это HORRID, он помещает скрытый ввод, похожий на simlarly, чтобы убедиться, что элемент всегда находится в коллекции форм. Я считаю, что прямой Html <INPUT> работает лучше. Если вы используете помощник htm, вам нужно проанализировать массив, чтобы получить значение.

0

Решение:

FeatureEvents.bit_Activate = Convert.ToBoolean(Request.Form["bit_Activate"].Contains("true")); 
Смежные вопросы