0

My User エンティティには、User レコードを定義する多数の異なるプロパティがあります。デフォルトのスキャフォールディングされた編集ページと作成ページが作成された後、ページにいくつかの領域を実装しようとしています。これにより、プロパティのリスト全体をポストバックして更新することなく、ユーザー プロファイルの同様の領域を編集および更新できます。

以下のように領域を別々の部分ビューに分割し、 @Ajax.BeginForm( を使用することを考えていました

    public partial class UserContact : UserBase
    {
        [DataType(DataType.EmailAddress)]
        [StringLength(255)]        
        public string EmailAddress { get; set; }

        [DataType(DataType.PhoneNumber)]
        [StringLength(50)]
        public string PhoneHome { get; set; }
            ...
    }
    public partial class UserAddress : UserBase
    {
        [StringLength(60)]
        public string AddressLine1 { get; set; }

        [StringLength(60)]
        public string AddressLine2 { get; set; }
            ...
    }
    public partial class UserBase
    {
        [Key]
        [Required(ErrorMessage = "User is required")]
        public System.Guid UserId { get; set; }
    }

bindingキーワードを見つけたばかりで、人々がどの方法を使用するのか疑問に思っていました。ネットワーク上ではあまり効率的ではないと思いますが、ユーザーモデル全体を毎回ポストバックするために必要な検証の観点からも、人々はメインモデルを個別のモデルに分割しますか、それともバインドパラメーターを使用して可能ですか (またはアドバイス可能ですか)プロパティのサブセットのみを指定するには?

4

1 に答える 1

1

私の意見では、モデルを複数のサブモデルに分割することをお勧めしますが、アクションもサブ アクションに分割する必要があります。各アクションは、UserBase クラス全体ではなく、そのサブクラスに「バインド」されます。

アクションを 1 つしか使用しない場合、バインドするプロパティとバインドしないプロパティを [動的に] 指定することはできないと思います。

于 2012-10-08T11:03:06.810 に答える