Asp.net mvc 在asp.net MVC中提交时,单选按钮和复选框值为空

Asp.net mvc 在asp.net MVC中提交时,单选按钮和复选框值为空,asp.net-mvc,Asp.net Mvc,单击“提交”按钮单选按钮时,模型在此处列出,复选框值为空 @foreach (var item in Model) { @Html.HiddenFor(m => m[Countid].ActivityType) <div class=" "> <div class="clear"> </div> @Html.Label("Group Name"

单击“提交”按钮单选按钮时,模型在此处列出,复选框值为空

@foreach (var item in Model)
    {
        @Html.HiddenFor(m => m[Countid].ActivityType)
        <div class=" ">
            <div class="clear">
            </div>
            @Html.Label("Group Name", "Group Name", new { @class = "control-label col-md-2", @style = "font-weight:700" })
            <label class="control-label col-md-2"> :  @item.PfpActivityGroup.ActivityGroupName</label>
        </div>
        <div class="">
            @Html.Label("Activity Type", "Activity Type", new { @class = "control-label col-md-2", @style = "font-weight:700" })
            <label class="control-label col-md-2"> :  @item.ActivityType</label>
            <div class="clear">
            </div>
        </div>

        if (item.PfpQsnCreationMasters != null)
        {
            <div class=" ">
                <label for="ActivityType" class="field-label">
                    Question Description
                </label>
                <label class="control-label col-md-2"> :  @item.PfpQsnCreationMasters.SurveyDesc</label>
                <div class="clear">
                </div>
                @Html.HiddenFor(m => m[Countid].PfpQsnCreationMasters.SurveyDesc)
                @Html.DropDownList("NoOfOptions", ViewData["NoOfOptions"] as SelectList, new { @class = "hide" })
                @Html.DropDownListFor(m => @item.PfpQsnCreationMasters.QuestionType, ViewData["QuestionType"] as SelectList, new { @class = "hide" })

                @if (item.Type == "TextBox")
                {
                    <div id="divTextBox">
                        @Html.TextBoxFor(x => item.txtQsnDesc);
                        @Html.HiddenFor(x => item.txtQsnDesc)
                        <div class="clear">
                        </div>
                    </div>
                }
                @if (item.Type == "RedioButton")
                {
                    <div >
                    @if (item.option1 != null)
                    {
                        @Html.RadioButtonFor(x => item.RadioOptionSelected, @item.option1)
                        <label class="control-label col-md-2"> @item.option1</label>
                        <div class="clear">
                        </div>
                    }
                    @if (item.option2 != null)
                    {
                        @Html.RadioButtonFor(x => item.RadioOptionSelected, @item.option2)
                        <label class="control-label col-md-2"> @item.option2</label>
                        <div class="clear">
                        </div>
                    }
                    @if (item.option3 != null)
                    {
                        @Html.RadioButtonFor(x => item.RadioOptionSelected, @item.option3)
                        <label class="control-label col-md-2"> @item.option3</label>
                        <div class="clear">
                        </div>
                    }
                   @if (item.option4 != null)
                    {
                        @Html.RadioButtonFor(x => item.RadioOptionSelected, @item.option4)
                        <label class="control-label col-md-2"> @item.option4</label>
                        <div class="clear">
                        </div>
                    }
                        @Html.HiddenFor(x => item.RadioOptionSelected)
                </div>
                }
                @if (item.Type == "CheckBox")
                {
                    <div id="divCheckBox">
                        @if (item.ListTextBox1 != null)
                        {

                            @Html.CheckBoxFor(x => item.IsOption1Selected)  <label class="control-label col-md-2"> @item.ListTextBox1</label>
                             @Html.HiddenFor(x => item.IsOption1Selected)
                            <div class="clear">
                            </div>
                        }
                        @if (item.ListTextBox2 != null)
                        {
                            @Html.CheckBoxFor(x => item.IsOption2Selected)  <label class="control-label col-md-2">   @item.ListTextBox2</label>
                            @Html.HiddenFor(x => item.IsOption2Selected)
                            <div class="clear">
                            </div>
                        }
                        @if (item.ListTextBox3 != null)
                        {
                            @Html.CheckBoxFor(x => item.IsOption3Selected) <label class="control-label col-md-2">   @item.ListTextBox3</label>
                             @Html.HiddenFor(x => item.IsOption3Selected)
                            <div class="clear">
                            </div>
                        }
                        @if (item.ListTextBox4 != null)
                        {
                            @Html.CheckBoxFor(x => item.IsOption4Selected) <label class="control-label col-md-2">  @item.ListTextBox4</label>
                             @Html.HiddenFor(x => item.IsOption4Selected)
                            <div class="clear">
                            </div>
                        }
                    </div>
                }

            </div>
        }
        <div class="clear">
        </div>
        <br />
        Countid = Countid + 1;
    }
@foreach(模型中的变量项)
{
@Html.HiddenFor(m=>m[Countid].ActivityType)
@Label(“组名”、“组名”,新的{@class=“control Label col-md-2”,@style=“font-weight:700”})
:@item.PfpActivityGroup.ActivityGroupName
@Label(“活动类型”,“活动类型”,新的{@class=“control Label col-md-2”,@style=“font-weight:700”})
:@item.ActivityType
如果(item.PfpQsnCreationMasters!=null)
{
问题描述
:@item.PfpQsnCreationMasters.SurveyDesc
@Html.HiddenFor(m=>m[Countid].PfpQsnCreationMasters.SurveyDesc)
@DropDownList(“NoOfOptions”,ViewData[“NoOfOptions”]作为SelectList,new{@class=“hide”})
@Html.DropDownListFor(m=>@item.PfpQsnCreationMasters.QuestionType,ViewData[“QuestionType”]作为SelectList,新建{@class=“hide”})
@如果(item.Type==“TextBox”)
{
@TextBoxFor(x=>item.txtQsnDesc);
@Html.HiddenFor(x=>item.txtQsnDesc)
}
@如果(item.Type==“重拨按钮”)
{
@如果(item.option1!=null)
{
@Html.radiobutton(x=>item.RadioOptionSelected,@item.option1)
@项目1.选择1
}
@如果(item.option2!=null)
{
@Html.radiobutton(x=>item.RadioOptionSelected,@item.option2)
@项目1.选择2
}
@如果(item.option3!=null)
{
@Html.radiobutton(x=>item.RadioOptionSelected,@item.option3)
@项目3.选择3
}
@如果(item.option4!=null)
{
@Html.radiobutton(x=>item.RadioOptionSelected,@item.option4)
@项目4.选择4
}
@Html.HiddenFor(x=>item.RadioOptionSelected)
}
@如果(item.Type==“复选框”)
{
@如果(item.ListTextBox1!=null)
{
@Html.CheckBoxFor(x=>item.IsOption1Selected)@item.listextbox1
@Html.HiddenFor(x=>item.IsOption1Selected)
}
@如果(item.ListTextBox2!=null)
{
@Html.CheckBoxFor(x=>item.IsOption2Selected)@item.listextbox2
@Html.HiddenFor(x=>item.IsOption2Selected)
}
@如果(item.ListTextBox3!=null)
{
@Html.CheckBoxFor(x=>item.IsOption3Selected)@item.listextbox3
@Html.HiddenFor(x=>item.IsOption3Selected)
}
@如果(item.ListTextBox4!=null)
{
@Html.CheckBoxFor(x=>item.IsOption4Selected)@item.listextbox4
@Html.HiddenFor(x=>item.IsOption4Selected)
}
}
}

Countid=Countid+1; }
我通常会将此作为注释添加,但我缺少+50代表

请尝试将其置于复选框的模型值上:

public class mymodel {

    [DisplayFormat(ConvertEmptyStringToNull = false)]
    public bool mycheckboxvalue { get; set; }

}

提交时,所有复选框值均为false,单选按钮值均为null当模型传递给视图时,默认情况下,所有空字符串均转换为null。上述操作将关闭该功能并保留空字符串值并停止空值。您不能使用
foreach
循环来生成表单控件-它生成重复的
name
属性,无法绑定到集合(无索引器)和重复的
id
属性,这些属性是无效的html。您需要使用
for
循环或自定义
编辑器模板
-请参阅示例