Web アプリケーション、特に大量のデータ管理 (連絡先、住所、注文など) を扱うアプリケーションを開発する場合、通常、インターフェイスをインプレース編集として作成しますか、それとも別の「編集」ページを作成しますか(および閲覧専用ページ)?
なぜ/他の利点とは何ですか? このようなデータ管理を行う自分のプロジェクトについて決定を下そうとしていますが、どちらに進むべきかわかりません。
Web アプリケーション、特に大量のデータ管理 (連絡先、住所、注文など) を扱うアプリケーションを開発する場合、通常、インターフェイスをインプレース編集として作成しますか、それとも別の「編集」ページを作成しますか(および閲覧専用ページ)?
なぜ/他の利点とは何ですか? このようなデータ管理を行う自分のプロジェクトについて決定を下そうとしていますが、どちらに進むべきかわかりません。
インライン編集は、変更を行うための「労力のコスト」が比較的低い場合に理にかなっていると思います。
たとえば、写真の説明を変更するのは非常に簡単です。正確に正しくなくてもリスクはほとんどなく、ユーザーは編集中の写真のコンテキストで正しく行うことを期待しています。その場合、インラインは私には理にかなっています。
一方、ユーザーがプロセスを介して支援またはガイドされる必要があるアプリケーション、または変更は、請求/配送/アカウントのステータスの大幅な変更を意味します。彼らの行動の影響を完全に理解するのに役立つ別のページを持つことは理にかなっているかもしれません.
ページを表示するための主な用途が編集である設定などの場合、インラインは理にかなっています。
後は、使い方についてです。人々がそれらを常に編集している場合は、インラインにする必要があります。それがたとえばユーザーの詳細であり、ほとんどが読み取られ、時々変更される場合、これが私が行うことです:
ページは、編集可能なボックスなしで表示されます。ユーザーがいくつかの情報を変更したい場合は、編集ボタンを押します。同じページが表示されますが、編集可能なフィールドとキャンセル/送信ボタンがあります。
アクション (MVC) によって設定された各フィールドのどのバージョンを表示するかをプロパティ バケットの値に基づいてビューに決定させることで、これを実現します。
編集:
要求されたサンプル (未テスト)
コントローラー (お城のモノレール) で、CustomerController としましょう:
public void View(int customerid)
{
PropertyBag["customer"] = Customer.Find(customerid);
}
public void Edit(int customerid)
{
PropertyBag["editing"] = true;
View(customerid);
RenderView("View");
}
ビュー(点字)で:
<th>Name:</th>
<td>
<% if IsDefined("editing"): %>
<input name="c.Name" value="$customer.Name" />
<% else: %>
$customer.Name
<% end %>
</td>
データの編集が簡単で単純な場合 (ばかばかしくない場合) は、インプレース編集を使用する必要があります。ユーザーにとっては、ワープロでテキストを選択して上書きするのと同じくらい複雑であってはなりません。
ラベル、指示、エラー メッセージなどを表示する必要がある場合は、おそらく専用の編集ページを使用する必要があります。または、ページ内でこれを行う賢い方法を見つけてください。
また、ユーザーが入力した内容が正確に表示されない場合もあります。たとえば、ユーザーの年齢を表示しますが、編集すると生年月日が表示されます。次に、ユーザーを混乱させる可能性があるため、編集ページを使用することをお勧めします。