0
かなり簡単です。これはNopCommerceのプラグインページですが、ここではこれが有効ではないと思います。MVC Razor CheckBoxFor()プロパティの内容/値が表示されない
マイモデル:フォームが正しく表示されているかどうかを確認するには簡単なチェックのため
public class CheckBoxModel
{
public string Name { get; set; }
public bool Checked { get; set; }
}
public partial class ContactUsModel : BaseNopModel
{
[AllowHtml]
[DisplayName("Case Type")]
public List<CheckBoxModel> CaseType { get; set; }
}
マイコントローラー:
var model = new ContactUsModel
{
CaseType = new List<CheckBoxModel>()
{
new CheckBoxModel() { Name="Civil Tax", Checked=false },
new CheckBoxModel() { Name="Criminal Tax", Checked=false },
new CheckBoxModel() { Name="Other Tax", Checked=false }
}
}
マイかみそり:
<div class="inputs">
@Html.LabelFor(model => model.CaseType)
@for(int i = 0; i < Model.CaseType.Count; i++)
{
@Html.LabelFor(lbl => lbl.CaseType[i].Name)
@Html.CheckBoxFor(chk => chk.CaseType[i].Checked)
}
</div>
HTML:
Case Type: Name [] Name[] Name[]
コントローラーに割り当てられた実際の名前を表示するには、何が欠けていますか?
AHHHHHH ....とても単純ですが、私はそれを見ることができませんでした。ありがとうございました。 – GPGVM
喜んで助けました。これがあなたのために働いた場合は、回答を受け入れたものとしてマークしてください。 – DavidS
本当に欲しいのは '@ Html.LabelFor(m => m.CaseType [i] .Checked、Model [i] .Name)'なので、チェックボックスに関連付けられたラベルを作成します。 'Name'プロパティ)。また、 '@Html.LabelFor(m => m.CaseType)'を '@ Html.DisplayNameFor(m => m.CaseType) 'に置き換えるべきです。' CaseType'という名前のコントロールがないからです。'