保存为System的数组值.数据库中的字符串[]
本文关键字:字符串 数据库 System 数组 保存 | 更新日期: 2023-09-27 18:02:52
我有一个带有复选框的表单,并将它们发送回控制器并将它们保存为SQl Server数据库,值是System.String[]。一直在论坛周围寻找一个解决方案,以输出阵列回到所选设备的列表,但没有找到任何东西。当将数组悬停在controller参数中时,表单中选择的所有值都会被列出并且是正确的。
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="pc" value="PC">PC
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="monitor" value="Flat Panel Monitor">Monitor
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="mic" value="mic">Mic
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="speakers" value="speakers">Speakers
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="videoPlayer" value="videoPlayer">Video player
</label>
</div>
<div class="checkbox">
<label>
<input type="checkbox" name="equipmentCheckbox" id="lab" value="lab">Lab
</label>
</div>
控制器:
[HttpPost]
public ActionResult equipmentRequest(string[] equipmentCheckbox)
{
var db = new Entities();
string[] equipment = Request.Form.GetValues("equipmentCheckbox");
var order = new Order
{
EquipmentRequested = equipment.ToString(),
};
db.Requests.Add(order);
db.SaveChanges();
return RedirectToAction("Index");
}
我卡住了如何解析数组到一个列表,以正确地保存到数据库,而不是系统。String []
当您执行
操作时,您正在尝试在字符串数组上使用toStringequipment.ToString()
我不知道你的目的是什么。tostring()调用,但这是你的错误。
订单中应包含
ICollection<EquipmentRequested> EquipmentRequested { get; set; }
代替
string EquipmentRequested { get; set; }
和EquipmentRequested应该包含一个字符串属性'value'和一个OrderId来链接对象。