1

私は次のモデルクラスを持っています:-

public class TMSServer_Validation
{
    [Required]
    public string ILOIP { get; set; }
}

および次のビュー:-

@model TMS.ViewModels.ServerJoin
<div >
  <span class="f">  ILOIP</span>

    @Html.EditorFor(model =>model.Server.ILOIP)
    @Html.ValidationMessageFor(model =>model.Server.ILOIP)
</div>

および次のポスト アクション メソッド:-

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(ServerJoin sj, FormCollection formValues)
{
    //code goes here..
    repository.InsertOrUpdateServer(sj.Server, User.Identity.Name, sj.Resource.RESOURCEID);

    repository.Save();
    return RedirectToAction("Index");

および次のビュー モデル クラス:-

public class ServerJoin
{
    public TMSServer Server { get; set; }
    public Resource Resource { get; set; }
    public Technology Technology { get; set; }
    public ComponentDefinition ComponentDefinition { get; set; }
}

しかし、オブジェクトを編集しようとすると、モデルの状態が False になり、ビューに値があるのに ILOP フィールドが必要であるというエラー メッセージが表示されます。

では、この問題の原因は何ですか?

アップデート

モデルクラスは次のとおりです:-

[MetadataType(typeof(TMSServer_Validation))]     
public partial class TMSServer
        {
            public TMSServer()
            {
                this.TMSServers1 = new HashSet<TMSServer>();
                this.TMSVirtualMachines = new HashSet<TMSVirtualMachine>();
            }

            public int ServerID { get; set; }
            public Nullable<int> ServerModelID { get; set; }
            public int DataCenterID { get; set; }
            public string ILOIP { get; set; }
            public int RackID { get; set; }
            public Nullable<int> StatusID { get; set; }
            public Nullable<int> BackUpStatusID { get; set; }
            public int RoleID { get; set; }
            public Nullable<int> OperatingSystemID { get; set; }
            public Nullable<int> VirtualCenterID { get; set; }
            public string Comment { get; set; }
            public byte[] timestamp { get; set; }
            public long IT360SiteID { get; set; }

            public virtual DataCenter DataCenter { get; set; }
            public virtual OperatingSystem OperatingSystem { get; set; }
            public virtual ServerModel ServerModel { get; set; }
            public virtual Technology Technology { get; set; }
            public virtual TechnologyBackUpStatu TechnologyBackUpStatu { get; set; }
            public virtual TechnologyRole TechnologyRole { get; set; }
            public virtual TechnologyStatu TechnologyStatu { get; set; }
            public virtual TMSRack TMSRack { get; set; }
            public virtual ICollection<TMSServer> TMSServers1 { get; set; }
            public virtual TMSServer TMSServer1 { get; set; }
            public virtual ICollection<TMSVirtualMachine> TMSVirtualMachines { get; set; }
        }
4

0 に答える 0