0
我想使用MVC將3個單選按鈕值插入到數據庫中。 用戶需要選擇一種材料爲每個類別(牆,屋頂,地板)如何將多個RadioButtonFor值插入到數據庫中
目前用戶只能選擇一個值(可能需要做分組)。但是,當我只分組的structInfo值被插入到數據庫中。我需要將所有3值插入到數據庫中。
的結構INF(牆壁,屋頂,地板)的materialinfo是(bricks.concrete,樹林等)
這樣我就可以讓所有的用戶選擇保存到數據庫中的3個值?
這是我的看法
@foreach (var structIN in Model.structInfo)
{
if (structIN.structId.Equals(1))
{
@Html.Label(structIN.structNm) @:
foreach (var material in Model.materialInfo)
{
if (material.materialId.Equals(1) || material.materialId.Equals(2) || material.materialId.Equals(3))
{
@Html.RadioButtonFor(model => model.buildInfo.materialId, material.materialId)@Html.Label(material.materialNm)
@Html.HiddenFor(model => model.buildInfo.structId, new { Value = structIN.structId })
}
}
}
else if(structIN.structId.Equals(2))
{
<br />
@Html.Label(structIN.structNm) @:
foreach (var material2 in Model.materialInfo)
{
if (material2.materialId.Equals(2) || material2.materialId.Equals(4) || material2.materialId.Equals(5))
{
@Html.RadioButtonFor(model2 => model2.buildInfo.materialId, material2.materialId)@Html.Label(material2.materialNm)
@Html.HiddenFor(model2 => model2.buildInfo.structId, new { Value = structIN.structId })
}
}
}
else if (structIN.structId.Equals(3))
{
<br />
@Html.Label(structIN.structNm) @:
foreach (var material3 in Model.materialInfo)
{
if (material3.materialId.Equals(6) || material3.materialId.Equals(3))
{
@Html.RadioButtonFor(model3 => model3.buildInfo.materialId, material3.materialId) @Html.Label(material3.materialNm)
@Html.HiddenFor(model3 => model3.buildInfo.structId, new { Value = structIN.structId })
}
}
}
}
你不能,至少不是沒有重新設計你的數據庫。您需要在您的'BuildingInfo'表,Walls','Roof'和'Floor'中包含對'MaterialInfo'的引用的2個字段,或者您需要第四個表作爲關係(包含'BuildingInfoId', StructInfoId'和'MaterialInfoId') –
您的'MaterialInfo'模型似乎也不正確。它應該包含一個與'StructInfo'表的關係的屬性 –
Oo,非常感謝Stephen,我可以在我的viewModel中創建關係嗎?你有沒有提及那個? – user3643092