Frage

Ich verwende asp.net MVC2. Ich bin ein Problem in staatlicher Verwaltung von Javascript Inhalten gegenüber. Ich habe ein Bild Karte bekomme, in dem auf auf verschiedenen Teil i des Bildes klicken zeigte, gleiche Seite (Umleitung mit Parametern) mit einem gewissen Parameter wie: Secure / Bodywork view = 7 und auf Basis des Wertes in der Parameteransicht zeige ich verschiedene Inhalte auf Seite. in diesem Inhalt ich einige Kontrollkästchen erhalten haben, die ich überprüft und zeigen Sie es auf der linken Seite in einem div (geprüft eins). das Problem ist, wenn ich auf einem anderen Teil des Bildes klicken (Bild Karte) es mich anders gleiche Seite rediect „view =?“ Wert, aber ich loos Zustand meines aktuellen divs (die Namen der überprüften Kontrollkästchen der vorherigen Seite enthält).

meine inherites Linie ist wie folgt aus:

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

Controller enthält:

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

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

Ich habe mit versteckten Feld versucht so, in denen ich Namen der Checkbox aktuellen Seite platziert, aber natürlich diejenigen Wert verliert, wenn ich auf das Bild klicken Karte wegen der Umleitung von Seite zu aktuellen Seite.

Ich habe auch versucht, mit der Verwendung von Ajax.BeginForm aber es ist auch nicht funktioniert, weil wir die Seite umleiten (auf derselben Seite mit unterschiedlichen Parametern wie: view = 3 / view = 4). Auf Klick auf Bild Karte

Sie mir empfehlen, was soll ich ändern und wie es zu tun.

Danke

Code in Ziel 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>
War es hilfreich?

Lösung

Sie können AJAX verwenden und nur den Teil der Seite aktualisieren, dass der Bedarf aktualisiert werden.

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

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

Und in Ihrer Ansicht AJAXify die Links auf der Bildkarte:

$(function() {
    $('#somecontainer a').click(function() {
        $('#someresultcontainer').load(this.href);
        return false;
    });
});
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top