MVC Partial View zu Rendern wie einer Ansicht nach einem post

Guten Tag
Ich habe eine Index-Seite, die display 2 partialviews auf 2 tabs. Jede Registerkarte hat einen submit-button machen, wenn der submit-button geklickt wird, dann trifft es den controller und der controller hat einige Prozess-und zurück eine besiedelte Modell für die partialview, aber die partialview ist renderd, wie ein Blick auf seine eigene.

Index.chtml Seite

...
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-3" style="float:left">
    <div >
        <ul id="myTab" class="nav nav-tabs nav-stacked">
            <li class="active">
                <a href="#IdentifyPerson" data-toggle="tab" class=""><strong>Identify Person</strong></a>
            </li>
            <li>
                <a href="#PersonInformation" data-toggle="tab" class=""><strong>Person Information</strong></a>
            </li>
        </ul>
    </div>
</div>

<div class="tab-content col-lg-9 col-md-9 col-sm-9 col-xs-9">
    <div id="IdentifyPerson" class="tab-pane fade in active">
        @Html.Partial("IdentifyPerson")
    </div>
    <div id="PersonInformation" class="tab-pane fade">
        @Html.Partial("PersonInformation")
    </div>
</div>

HomeCntroller.cs Seite

[AuthorizeUser]
   public ActionResult Index(string ActionValue)
   {
       return View();
   }

   [HttpGet]
   [AuthorizeUser]
   public ActionResult IdentifyPerson()
   {
       return View();
   }

   [HttpPost]
   [AuthorizeUser]
   public ActionResult IdentifyPerson(ViewModel_IdentifyPerson model)
   {
       //do populate model
       return View(model);
   }

irgendwelche Tipps dies zu beheben?

Identifizieren Person Seite
MVC Partial View zu Rendern wie einer Ansicht nach einem post

Person Informationen Seite
MVC Partial View zu Rendern wie einer Ansicht nach einem post

  • Sie müssen die ajax verwenden, um das Formular senden, wenn Sie möchten, bleiben Sie auf der gleichen Seite.
  • es tut was es tun soll.Verwenden ajax nicht form submit
  • ok danke, aber kannst du ajax verwenden, auf einem Rasiermesser Seite
  • Verwenden return PartialView(model); Statt return View(model);
InformationsquelleAutor ArnoDT | 2016-03-08



2 Replies
  1. 1

    verwenden Sie möglicherweise Form eher als ajax form. so müssen Sie die Verwendung von ajax-form zu bleiben auf derselben Seite.

    In IdentifyPerson Registerkarte

    @using (Ajax.BeginForm("IdentifyPerson", "Home", null, new AjaxOptions { UpdateTargetId = "IdentifyPerson" , InsertionMode= InsertionMode.Replace}))
    {
        //Other stuff
        <input type="submit" value="Save" />
    }

    und In PersonInformation Registerkarte

    @using (Ajax.BeginForm("IdentifyPerson", "Home", null, new AjaxOptions { UpdateTargetId = "PersonInformation", InsertionMode = InsertionMode.Replace }))
    {
        //Other stuff
        <input type="submit" value="Save" />
    }

    müssen Sie diese Js-Datei
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> auf Ihre anzeigen
    und auch Ihre Rückkehr geben PartialView in Aktion

    [HttpPost]
        [AuthorizeUser]
        public ActionResult IdentifyPerson(ViewModel_IdentifyPerson model)
        {
            //do populate model
            return PartialView(model);
        }
    • Implementiert habe ich deine Empfehlungen, aber ich bekomme immer noch das gleiche Ergebnis
    • Sie müssen diese Js-Datei <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> auf Ihre anzeigen
    • ich habe es, aber jetzt bekomme ich die raw-HTML ohne CSS und jedem anderen script
  2. 0

    Wenn Du mit bootstrap,können Sie einfach wickeln Sie Ihre Form in der Bootstrap-modal-Fenster, teilweise mit Sicht

    • Ich bin mit bootstrap als meine Basis-CSS-Datei, wie kann ich dies umsetzen
    • ist es wichtig, die Darstellung von zwei Formen auf der Website auf einmal? es könnte sonst durch standardmäßig ausgeblendet und zeigen separat Ereignis klicken …
    • für die muss es eine Seite im Registerformat ich denke, da Seite bekommt man die Benutzereingaben dann, dass die Eingabe wird verwendet, um die Treffer in einer db und dann das Ergebnis auf der ersten Seite angezeigt und es füllt ein Modell für die Seite zwei. danach werden die anderen Registerkarten müssen aktiviert werden, dann muss man in der Lage sein zu gehen, um die erste Seite heraus mit der Eingabe der Informationen wieder

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.