0

asp.net MVC2 を使用しています。javascript コンテンツの状態管理で問題に直面しています。画像のさまざまな部分をクリックすると、Secure/BodyWork?view=7 のようなパラメーターを使用して同じページ (パラメーターを使用してリダイレクト) が表示され、パラメーター ビューの値に基づいてさまざまなコンテンツが表示されるイメージ マップがあります。ページに。そのコンテンツでは、いくつかのチェックボックスをチェックして、左側の div (チェックしたもの) に表示します。問題は、(イメージ マップの) 画像の別の部分をクリックすると、別の「view=?」で同じページにリダイレクトされることです。値ですが、現在のdivの状態を失います(前のページのチェックされたチェックボックスの名前が含まれています)。

私の継承行は次のようになります:

Inherits="System.Web.Mvc.ViewPage<List<WBAC.Models.BodyWorkModel>>"

コントローラーには以下が含まれます:

  public ActionResult BodyWork(string view)
    {
 SecureModelService service = new SecureModelService();
        return View(service.ListBodyWork(view));
   }

      [HttpPost]
    public ActionResult BodyWork(BodyWorkModel model1)
    {
        //some code
    }

隠しフィールドを試してみたので、現在のページのチェックボックスの名前を配置しましたが、ページが現在のページにリダイレクトされるため、イメージマップをクリックすると値が失われます。

私も ajax.beginform を使用してみましたが、イメージ マップのクリック時にページを (view=3/view = 4 のような異なるパラメーターを持つ同じページに) リダイレクトしているため、機能しません。

何を変更すればよいか、どのように変更すればよいか教えてください。

ありがとう

ターゲット div のコード:

<div class="damageAreaMid" id="dvdamageAreaMid">
                        <% foreach (var item in Model)
                           { %>
                        <div class="area">
                            <h2>
                                <%: item.Component %></h2>
                            <% Html.RenderPartial("~/Views/Shared/UCWorkArea.ascx", item.VehicleOption(item.ComponentID, item.Component));%>


                        </div>
                        <% } %>
                    </div>
4

1 に答える 1

1

AJAX を使用して、ページの更新が必要な部分だけを更新できます。

public ActionResult BodyWork(string view)
{
    SecureModelService service = new SecureModelService();
    return View(service.ListBodyWork(view));
}

public ActionResult BodyWork(BodyWorkModel model)
{
    //some code
    return PartialView(model);
}

ビューで、イメージ マップ上のリンクを AJAXify します。

$(function() {
    $('#somecontainer a').click(function() {
        $('#someresultcontainer').load(this.href);
        return false;
    });
});
于 2010-10-26T07:13:01.107 に答える