2

動的ビューがあります。これには、渡されたモデルが表示されます。

@model dynamic

@using (Html.BeginForm("Edit", null, FormMethod.Post, new { id="FrmIndex" }))
{
@Html.ValidationSummary(true);
@Html.EditorForModel()

 <input type="submit" value="Edit" />
}

私のモデルの 1 つが PartyRole だとします。

public partial class PartyRole
{
    [Key, Display(Name = "Id"]
    [UIHint("Hidden")]
public int PartyRoleId { get; set; }

    [UIHint("TextBox")]
    public string Title { get; set; }

}

編集モードで Id を表示したくないので、以下のように Hidden.cshtml editorfortemplate で非表示にしています。

 @Html.HiddenFor(m => Model)

これはエディターを隠していますが、ラベル「Id」は隠していません。ここで提供されている回答は使用できません@Html.EditForModel() からフィールドを除外するが、Html.DisplayForModel() を使用して表示する方法

IMetadataAware には System.Web.Mvc 名前空間が必要なため、poco モデル クラスを持つ Biz プロジェクトに追加できません。これもweb.mvcのパーティなので [HiddenInput(DisplayValue = false)] は使えません

誰かが解決策を与えることができますか??

4

1 に答える 1