Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在razor视图中生成多个复选框时出现问题_C#_Asp.net Mvc 4_Visual Studio 2012_Entity Framework 4_Sql Server 2012 - Fatal编程技术网

C# 在razor视图中生成多个复选框时出现问题

C# 在razor视图中生成多个复选框时出现问题,c#,asp.net-mvc-4,visual-studio-2012,entity-framework-4,sql-server-2012,C#,Asp.net Mvc 4,Visual Studio 2012,Entity Framework 4,Sql Server 2012,我正在开发MVC应用程序ASP.net(c#) 在我使用sql server的数据库中,我有一个名为TblCity的城市表,它具有这个属性(ID int,Name varchar(50),IsSelected bit) 我正在使用实体框架的方法,我在Models Forlder中添加了一个名为CityDataModel.edmx的数据模型,其中包含我的表(TblCity) 要连接到我在Web.Config中使用的数据库,请使用名称(SaampleDbContext) 我还添加了一个名为cityC

我正在开发MVC应用程序ASP.net(c#) 在我使用sql server的数据库中,我有一个名为TblCity的城市表,它具有这个属性(ID int,Name varchar(50),IsSelected bit)

我正在使用实体框架的方法,我在Models Forlder中添加了一个名为CityDataModel.edmx的数据模型,其中包含我的表(TblCity)

要连接到我在Web.Config中使用的数据库,请使用名称(SaampleDbContext)

我还添加了一个名为cityController的控制器

public class CityController : Controller
    {
        private SaampleDbContext db = new SaampleDbContext();



        public ActionResult Index()
        {
            SaampleDbContext db = new SaampleDbContext();
            return View(db.TblCity);
        }


    }
为了显示城市表中存在的多个复选框,我使用了以下方法:

我已创建TblCity.cshtml Razor视图: 就像这样:

@model Mvcentityframwork.Models.TblCity

@Html.HiddenFor(x=>x.IsSelected)
@Html.HiddenFor(x=>x.Name)

   @Html.CheckBoxFor(x=>(bool)x.IsSelected)

 @Html.DisplayFor(x=>x.Name)
和索引视图:

@model IEnumerable<Mvcentityframwork.Models.TblCity>

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
@using(Html.BeginForm())
{
    @Html.EditorForModel()

}
@model IEnumerable
@{
ViewBag.Title=“Index”;
}
指数
@使用(Html.BeginForm())
{
@Html.EditorForModel()
}
我在数据库中的TblCity上有5个城市,所以我想有5个复选框,每个城市的名称

例如,我的数据库中有两行1纽约0和2悉尼1我想要[checkbox1]纽约[Checkbox2(Check)]悉尼,仅此而已 截图:

我的问题是:


我不知道为什么我有1 2 3 4 5而不是我的复选框列表

不清楚你想要实现什么,但是删除
@Html.HiddenFor(x=>x.IsSelected)
(你已经用
CheckBoxFor
呈现了所需的输入)并将复选框更改为
@Html.CheckBoxFor(x=>x.IsSelected)
,然后使用
@Html.EditorFor(x=>x)
在主视图中,我想要实现的就是显示复选框,例如,我的数据库中有2行1纽约0和2悉尼1我将有[checkbox1]纽约[Checkbox2(Checkbox2)]悉尼,就这样,我编辑了我的代码,就像你告诉我的那样,我将@Html.EditorForModel()替换为@Html.EditorFor(x=>x)但是我仍然有123445而不是[Checkbox1]名字[checkbox2]5点之前的名字……我希望是这样clear@Html.HiddenFor只是为了发布按钮,我还没有发布,我将添加一个Submit按钮。您查看了页面源代码以检查呈现的html是什么。您确定
TblCity.cshtml
Views/Shared/EditorTemplates
文件夹中吗?当我将TblCity.cshtml放在Views/Shared/Edi>文件夹中时他找不到我不知道为什么我有404错误