0

私は次のように私のモデルを持っています

 public class PlaceOrder
    {        
    public int orderCode { set; get; }
    public string Order_ID { set; get; }
    public int orderDetailCode { set; get; }
    [Required]
    public string Topic { set; get; }
    //50 more fields are there
    }

editorforModel を使用すると、モデル内のすべてのフィールドが表示されます。プロパティ名を取得し、その特定のプロパティのエディターのみを表示するエディター ヘルパーが必要です。

モデルの作成/編集/詳細アクションを作成し、正常に動作しました。私の最終的な目標は、詳細ビューのすべてのフィールドの横に編集ボタンを配置することです。編集をクリックするとすぐに、入力を更新して検証することもできます

編集 編集リンクに次のスニペットを使用しています

 @(Html.Awe().PopupFormActionLink()
                   .LinkText("Edit")
                   .Name("editP")
                   .Url(Url.Action("PropertyEdit", "PlaceOrder", new
                               {

                                   PropertyName =   Html.NameFor(model => model.SubjectCategoryCode),
                                   propertyValue =  Html.IdFor(model => model.SubjectCategoryCode),
                                   ordercode = Model.orderCode
                               })
                       )
                    .Title("Editor for " + Html.NameFor(model => model.SubjectCategoryCode))

フィールド名を渡すと、関連するフィールドが表示され、検証が行われます

4

2 に答える 2

0

これにはメソッドがあります (静的に型付けされたヘルパーと同様に、このヘルパーを使用するHtml.EditorFor(m => m.Property)ようにモデルを設定する必要があります)。PlaceOrder

編集:ああ、ケネスは速かった:-)。

于 2013-05-16T09:17:00.197 に答える
0

各フィールドに EditorFor とフォームを使用できます。

@using Html.BeginForm("action", "controller")
{
    @Html.EditorFor(m => m.ordercode)
    <input type="submit" />
}

@using Html.BeginForm("action", "controller")
{
    @Html.EditorFor(m => m.orderDetailCode)
    <input type="submit" />
}

もちろん、コントローラーに値を 1 つしかポストしていないため、アイテムごとに異なるアクションが必要であり、他の値も取得する方法が必要です。これを実現するには、id を含む隠しフィールドを含めて、サーバー上の他の値を取得できます。

于 2013-05-16T09:14:07.347 に答える