C# 我创建了复选框列表,但我可以';不要检查它们

C# 我创建了复选框列表,但我可以';不要检查它们,c#,asp.net-mvc,asp.net-mvc-4,checkbox,C#,Asp.net Mvc,Asp.net Mvc 4,Checkbox,结果是复选框列表,但我不能检查他们,当我按下鼠标,但什么也没有发生。 有什么帮助吗 这是我在控制器中的代码 ViewBag.Message = "Select Medias"; var MediaInfo = CampaignManagementService.GetMedias((string)Session["ticket"]); List<MediaList> items = new List<MediaList>()

结果是复选框列表,但我不能检查他们,当我按下鼠标,但什么也没有发生。 有什么帮助吗

这是我在控制器中的代码

ViewBag.Message = "Select Medias";
            var MediaInfo = CampaignManagementService.GetMedias((string)Session["ticket"]);
            List<MediaList> items = new List<MediaList>();
            foreach (var element in MediaInfo)
            {
                items.Add(new MediaList() { ID = element.Key, Name = element.Value });
            }
            ViewData["list"] = items;
ViewBag.Message=“选择媒体”;
var MediaInfo=ActivationManagementService.GetMedias((字符串)会话[“票证]);
列表项=新列表();
foreach(MediaInfo中的var元素)
{
Add(newmedialist(){ID=element.Key,Name=element.Value});
}
ViewData[“列表”]=项目;
这是我的代码

<fieldset>
     <legend>@ViewBag.Message</legend>
     @{
         foreach (var item in ViewData["list"] as List<MediaList>)
         {
             <div class="form-horizontal well">
                 <div class="control-group">
                     <div class="controls">
                         <div class="checkbox-group">
                             <div class="adform-checkbox pull-left" tabindex=@item.ID></div>
                             <label>@item.Name</label>
                         </div>
                     <input class="input-small" type="text" id="input"> 
                     </div>
                 </div>
             </div>
         }
         <button type="submit" class="btn btn-success">Create Tag</button>

     } </fieldset>

@查看包。留言
@{
foreach(ViewData[“列表”]中的变量项作为列表)
{
@项目名称
}
创建标签
} 
您的表单标签在哪里? 没有它,任何东西都不会被张贴到任何地方

加:

@使用(Html.BeginForm())
{
foreach(ViewData[“列表”]中的变量项作为列表)
{
@项目名称
}
创建标签
}

这种创建复选框的方法看起来不标准:

<div class="checkbox-group">
    <div class="adform-checkbox pull-left" tabindex=@item.ID></div>
    <label>@item.Name</label>
</div>
编辑:

当我使用复选框时,我倾向于执行以下操作。在我的viewmodel类中,我有一组强类型项:

public class MyViewModel
{
    public MyViewModel()
    {
        Items = new List<CheckBoxItem>();
        Items.Add(new CheckBoxItem { Id = 23, Text = "Hello" });
    }

    public IList<CheckBoxItem> Items { get; set; }
}

public class CheckBoxItem
{
    public int Id { get; set; }
    public bool Checked { get; set; }
    public string Text { get;set; }
}

仍然无法检查/选择编译器错误消息:CS1928:“System.Web.Mvc.HtmlHelper”不包含“CheckBox”的定义和最佳扩展方法重载“System.Web.Mvc.Html.InputExtensions.CheckBox(System.Web.Mvc.HtmlHelper,string)”有一些无效参数错误是什么?我添加了一个扩展示例,说明如何处理复选框,这可能会对您有所帮助。
<div class="checkbox-group">
    @Html.CheckBox(@item.ID)
    <label>@item.Name</label>
</div>
public class MyViewModel
{
    public MyViewModel()
    {
        Items = new List<CheckBoxItem>();
        Items.Add(new CheckBoxItem { Id = 23, Text = "Hello" });
    }

    public IList<CheckBoxItem> Items { get; set; }
}

public class CheckBoxItem
{
    public int Id { get; set; }
    public bool Checked { get; set; }
    public string Text { get;set; }
}
 for (int idx = 0; idx < Model.Items.Count;idx++ )
    {
        @Html.HiddenFor(m => m.Items[idx].Id)
        @Html.CheckBoxFor(m => m.Items[idx].Checked)<label>@Model.Items[idx].Text</label>
    }
[HttpPost]
public ActionResult Index(MyViewModel viewModel)
{
    // viewModel.Items will contains the checkbox items.
}