0

問題が繰り返される可能性があります。しかし、このシナリオを実装するためのアプローチについてのガイダンスが必要です。私はasp.netmvc3にコントローラーを持っています。複数の部分ビューを含むビューを実装する必要があります。データベースとのデータトランザクションを持つ各部分ビュー。データベースにデータを投稿することを意味します。私はこのようなものを持っています:

<div >
    <div id="div1">
    <% Html.RenderPartial("PartialView1", ViewData("pv1"))
        %>
    </div>

    <div id="div2">
    <% Html.RenderPartial("PartialView2", ViewData("pv2")) %>
    </div>


    <div id="div3">
    <% Html.RenderPartial("PartialView3", ViewData("pv3")) %>
    </div>



    <div id="div4">
    <% Html.RenderPartial("PartialView4", ViewData("pv4")) %>
    </div>

コントローラの場合と同様に、それぞれの部分ビューのみをレンダリングする方法がわかりません。データ転記部分ビューを除いて、他の部分ビューは影響を与えないはずです。パネルの種類の更新機能が必要であることを意味します。しかし、それを達成する方法は少し混乱しています。

編集:要するに、mvc 3の単一ページに複数の更新パネルを構築する方法は?

画像を考えてみましょう: ここに画像の説明を入力してください

この画像は、私がコードで説明しているものではありません。コンセプトをご理解ください。ここでは、機能的に2番目の部分ビューにドロップダウンがあり、これは常にgetアクションでいっぱいになります。ユーザーを追加している間、そのドロップダウンのgetusersアクションを呼び出さないでください。要するに、すべての部分的なビューは、互いに独立している必要があります。それぞれの部分的なビューのみが特定のアクションの影響を受けるはずです。

4

1 に答える 1

0

Ajaxフォームを使用して、対応するdivを更新するように指示できます。

<div>
    <% using (Ajax.BeginForm("SomeAction", "SomeController", new AjaxOptions { UpdateTargetId = "div1" })) { %>
        <div id="div1">
            <% Html.RenderPartial("PartialView1", ViewData("pv1")); %>
        </div>
    <% } %>

    <% using (Ajax.BeginForm("SomeAction", "SomeController", new AjaxOptions { UpdateTargetId = "div2" })) { %>
        <div id="div2">
            <% Html.RenderPartial("PartialView2", ViewData("pv2")); %>
        </div>
    <% } %>

    <% using (Ajax.BeginForm("SomeAction", "SomeController", new AjaxOptions { UpdateTargetId = "div3" })) { %>
        <div id="div3">
            <% Html.RenderPartial("PartialView3", ViewData("pv3")); %>
        </div>
    <% } %>

    <% using (Ajax.BeginForm("SomeAction", "SomeController", new AjaxOptions { UpdateTargetId = "div4" })) { %>
        <div id="div4">
            <% Html.RenderPartial("PartialView4", ViewData("pv4")); %>
        </div>
    <% } %>
</div>
于 2012-08-23T06:14:37.003 に答える