Domanda

ho più pagine contenenti la stessa vista parziale. Il parziale contiene un modulo che posti ad un'azione. Dopo un post voglio tornare alla pagina ero sulla prima del palo. Qual è il modo migliore per fare questo?

Esempio:

Parziale Vista: bollettino postale action = nota / creare /

Pagine

page1: prodotti / index /

Pagina2: cliente / dettagli /

pagina 3: ordine / dettagli /

Questi 3 pagine contengono la vista parziale, quando la pubblicazione parziale reindirizza notare / creare /. Ho bisogno di tornare alla pagina originale in caso di successo.

Grazie Simon

È stato utile?

Soluzione

In entrambi hanno la carica avvenga tramite la tecnologia AJAX - quindi non lasciare la pagina, o passare la corrente del controller / action / id (o l'URL nel suo complesso) come parametri l'azione che gestisce il post. Vedi sotto per un esempio di seguito.

 <% using (Html.BeginForm(...)) { %>

      <input type='hidden'
             name='currentController'
             value='<%= ViewContext.RouteData["controller"] %>' />
      <input type='hidden'
             name='currentAction'
             value='<%= ViewContext.RouteData["action"] %>' />
      <input type='hidden'
             name='<%= ViewContext.RouteData["id"] %>' />

      ...rest of form...
 <% } %>

o

 <% using (Html.BeginForm( ...,
         new { ReturnUrl = Url.Action( ViewContext.RouteData["action"],
                                       ViewContext.RouteData ) }, ... )) { %>

  ....
 <% } %>

Altri suggerimenti

È possibile memorizzare l'indirizzo della pagina corrente in un campo nascosto e inviarlo con richiesta Inserisci.

Nella tua visione parziale:

<script type="text/javascript">

var field = document.getElementById("currentPage");
field.value=document.location.href;

</script>

<form method="post" action="note/create/">
...

<input type="hidden" value="" id="currentPage" name="currentPage" />
</form>

Poi recuperare l'indirizzo dell'ingresso nascosto e reindirizzare l'utente ad esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top