ASP.NET MVC-如何捕获多个复杂的ListBox值并将其保存到数据库中
ASP.NET MVC - how to capture and save multiple complex ListBox values to database
因此,我创建了一个包含两个ListBox的视图,AvailableServices和SelectedServices:
@Html.ListBoxFor(x => x.AvailableServices, Enumerable.Empty<SelectListItem>(), new { id = "serviceID" })
@Html.ValidationMessageFor(model => model.AvailableServices)
@Html.ListBoxFor(x => x.SelectedServices, Enumerable.Empty<SelectListItem>(), new { id = "selectedserviceID" })
@Html.ValidationMessageFor(model => model.SelectedServices)
作为参考,这里是我的ViewModel:
namespace Services.ViewModels
{
public class SPServiceTypeViewModel
{
public int Id { get; set; }
public int SPCompanyAccountID { get; set; }
[Display(Name = "Service Category")]
public IEnumerable<SelectListItem> ServiceCategory { get; set; }
[Display(Name = "Available Services")]
public IEnumerable<SelectListItem> AvailableServices { get; set; }
[Display(Name = "Your Services")]
public IEnumerable<SelectListItem> SelectedServices { get; set; }
}
}
我的控制器填充AvailableServices列表框时没有问题。我还编写了一些JavaScript,允许用户将项目(包括id和label)从AvailableServices列表框移动到SelectedServices 现在我的问题是。。。我读了很多文章,但我仍然不知道如何在表单提交时将数据从SelectedServicesListBox最好地传递回我的控制器,因为我需要为每个选择捕获id和标签。 我的目标是在SPServiceType表中为SelectedServicesListBox中的每个项创建一个新的数据库行,但我对此一无所知。现在我保存数据的控制器看起来是这样的: 我是否需要在ViewModel中不使用IENumerable?我是否需要使用JavaScript将SelectedServices值传递到隐藏列表<>以便我的模型绑定更容易完成? 重申一下,我想捕获选择的id和标签值。 任何关于如何在视图中处理此问题的代码示例,或控制器中的Post操作,或一般方法建议,都将不胜感激。[HttpPost]
public ActionResult Create(SPServiceTypeViewModel viewModel)
{
foreach (var item in viewModel.SelectedServices)
{
var spServiceType = new SPServiceType
{
SPCompanyAccountId = viewModel.SPCompanyAccountID,
ServiceCategory = ???,
};
db.SPServiceType.Add(spServiceType);
db.SaveChanges();
return RedirectToAction("Create", "SPServiceLocation");
}
我也有类似的问题。
当时的建议是在POST中接受选定的值,并根据需要使用存储库模式(如果需要,进行缓存)将值转换为标签。
- 如何使用 Angular JS 将数据保存在数据库中
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 将数据保存到数据库(ajax/php)后,使文本字段变灰/禁用
- 获取用户位置并将坐标保存在数据库中
- ForerunnerDB将其数据库保存在哪里
- 如何在本地存储(或其他数据库)上安全地保存敏感访问代码
- 输入框值将保存到 MySQL 数据库
- 如何从重定向的支付处理器网站提取交易详细信息并保存到我的rails 4数据库
- 将javascript变量保存到数据库中
- ASP.NET MVC-如何捕获多个复杂的ListBox值并将其保存到数据库中
- jTinder保存到数据库
- 验证数据并将其保存到数据库以供实时应用程序使用的正确方法
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- HTML5数据库保存了详细信息以及一个按钮
- 如何确保在 Mocha 中的 done() 之前执行对数据库的循环保存
- 索引数据库保存范围为
- 将动态输入表单数据保存到数据库kendoui中
- 可以'编辑后不会将数据保存在数据库中,但网格显示更改
- 我如何在Asp.netmvc4中使用jquery-ajax创建文本框来保存数据库中的任何输入
- 在phonegap应用程序中保存数据库的位置