私はこのようなビューページを持っています
@if (item.IHP != null)
{
@foreach (ItemHasParts ihp in item.IHP)
{
Part part = db.Parts.Find(ihp.PartID);
string partID = part.ID.ToString();
<tr>
<td>
@part.PartIDLink
</td>
<td>
@Html.DisplayFor(modelPart => part.MFG_number)
</td>
<td>
@Html.DisplayFor(modelPart => part.Name)
</td>
<td>
@Html.RadioButton(partID, "Harvest")
</td>
<td>
@Html.RadioButton(partID, "Transfer")
</td>
<td>
@Html.RadioButton(partID, "Dispose")
</td>
</tr>
}
</table>
}
ご覧のとおり、各パーツの横に3つのオプション(収穫/転送/廃棄)が生成されます。これが最もうまくいくと思う方法の例を示します。
例//
5つのパーツがあるとすると、ユーザーは1つのパーツを収穫し、1つのパーツを転送して、残りの3つのパーツを廃棄することにします。これをコントローラーのリストに渡すことができれば理想的です。(処分/譲渡/収穫のリスト)。しかし、それが可能であるかどうか、またはそれを行うためのより良い方法があるかどうか、私はこれについてどうやって行くことができるかわかりませんか?任意の提案をいただければ幸いです。
これが私がすることです。チェックボックスを使用して、コードを変更したり、ラジオボタンを使用したりできます。しかし、あなたの文脈を理解していることから、チェックボックスの方が理にかなっていると思います
使用しているモデルに、可能なパーツのリストを追加します
public class YourModel
{
//add this line to your model
public List<Part> parts { get; set; }
}
使用されているかどうかを確認するために、ID名とブール値を持つ必要があるパーツモデルを作成します
public class Part
{
public int options_id { get; set; }
public string option_name { get; set; }
public bool isSelected { get; set; }
}
そして最後に、かみそりのページにこれを追加して、好きなように変更できるUIを生成しますが、これは最も基本的なバージョンです
@for (int i = 0; i < Model.parts.Count; i++)
{
<div class="col-md-2 mb-3">
@Model.parts[i].option_name
@Html.HiddenFor(model => model.parts[i].options_id)
@Html.CheckBoxFor(model => model.parts[i].isSelected)
</div>
}
ご不明な点がある場合、またはこれで質問に答えられない場合は、遠慮なくお知らせください。お役に立てれば。:)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加