我想创建一个像上面的表格,
public partial class UserGroup
{
public string UserGroup_ID { get; set; }
public string UserGroupNameEn { get; set; }
}
因此,填充此用户组并获取我创建的新模型的填充数据(以便它可以应用于视图(第一个图像))
这是控制器类
[HttpGet]
public ActionResult ProductFields_Create()
{
var model = new ProductFields
{
LisGroups = GetUserGroupListEn()
};
return View(model);
}
public MultiSelectList GetUserGroupListEn()
{
return new MultiSelectList(db.UserGroup.ToList(), "UserGroup_ID", "UserGroupNameEn");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ProductFields_Create(ProductFields product_fields)
{
...........
}
这是第一张图片的模型类
public class ProductFields
{
public string ProductFieldID { get; set; }
public string ProductFieldNameEn { get; set; }
public string ProductFieldNameAr { get; set; }
public string ProdcutFieldDiscriptionEn { get; set; }
public string ProductFieldDiscriptionAr { get; set; }
public List<UserGroup> LisGroups { get; set; }
[Required]
public string SelectedGroupID { get; set; }
}
以上视图的查看页面
@model Project_Name.Models.ProductFields
@using (Html.BeginForm())
{
<fieldset>
<div class="form-horizontal">
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
.....
<div class="form-group">
<div>
@Html.ValidationMessageFor(x => x.SelectedGroupID)
foreach (var group in Model.LisGroups)
{
<div>
@Html.RadioButtonFor(x => x.SelectedGroupID, group.UserGroup_ID, new { id = "emp" + group.UserGroup_ID })
@Html.Label("emp" + group.UserGroup_ID, employee.Label)
</div>
}
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
</fieldset>
}
但是在这里我遇到了红色波浪线的重大错误
名称“组”在当前上下文中不存在
无法将类型'System.Web.Mvc.MultiSelectList'隐式转换为'System.Collections.Generic.List'
您不需要MultiSelectList
(这是在ListBox()
和ListBoxFor()
方法中使用的类)。错误的原因是您的属性是,List<UserGroup> LisGroups
但您尝试为其分配typeof MultiSelectList
。
将您的GET方法更改为
[HttpGet]
public ActionResult ProductFields_Create()
{
var model = new ProductFields
{
LisGroups = db.UserGroup.ToList();
};
return View(model);
}
旁注:该属性可以是public IEnumerable<UserGroup> LisGroups { get; set; }
,然后删除不必要的使用.ToList()
然后在视图中
@foreach (var group in Model.LisGroups)
{
<div>
<label>
@Html.RadioButtonFor(x => x.SelectedGroupID, group.UserGroup_ID, new { id = "" })
<span>@group.UserGroupNameEn</span>
</label>
</div>
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句