保存并检索asp.net mvc的复选框值

时间:2013-05-18 07:23:35

标签: asp.net asp.net-mvc asp.net-mvc-3 asp.net-mvc-4 asp.net-mvc-2

我是asp.net mvc的新手,目前正在使用MVC 2.我现在正忙着处理复选框。我只需要检查复选框值以保存在数据库中,然后在编辑视图中检查它们。

<input type="checkbox"  id="coduit for safety near motor" name="Prepration" value="coduit for safety near motor"/><br />
<input type="checkbox" id="coduit for far side safety" name="Prepration" value="coduit for far side safety"/><br />
<input type="checkbox" id="coduit for power cable to near power point" name="Prepration" value="coduit for power cable to near power point"/><br /> 

在post控制器方法上,我可以使用

将已检查的Checkbox的值保存为逗号分隔的字符串到数据库中

strign a = = Request.Form [&#34;准备&#34;];

如何在编辑视图中显示它们?

我不知道这是否是这样做的方式,任何替代解决方案都会很棒

2 个答案:

答案 0 :(得分:1)

第一个问题的答案:

需要检查复选框值以保存在数据库中

在按钮上单击按下数组中的所有值,然后将它们存储在隐藏字段中,当您发布表单时,从此隐藏字段中获取这些值:

    <script type="text/javascript">
     $(document).ready(function () {
         $("input#btnSubmit").click(function () {
         var id = [];
         $("input[name='Prepration']:checked").each(function () {
         id.push($(this).val());
    });
    $("#HiddenFieldId").val(id);
         });
    });
    </script>

现在回答你的第二个问题:

如何在编辑视图中显示它们?

<input type="radio" id="a" name="Prepration" checked="@Model.BoolPropertyName" />

在这里你可以得到boolan的价值。

希望这会对你有所帮助。

答案 1 :(得分:0)

你可以在客户端解决方案,

var data="";
$.each($("input:checkbox"),function(){
    if($(this).is("checked")){
        data+= $(this).val();
    }
});

// post here