229 messaggi dal 20 novembre 2014
Ciao a tutti,
qualcuno sa dirmi come posso aprire una vista in un popup?
Riporto il codice che ho fatto fin ora

Questo è il codice che ho nella pagina cshtml dove dovrebbe aprirsi il popup
<div id='storicoModal' class='modal hide fade in' data-url='@Url.Action("getStorico")'>
                        <div id='storicoContainer'>
                        </div>
                    </div>
                    
                    @Html.ActionLink("Storico", "getStorico", new { id = item.ID }, new { onclick = "getStorico()" })


javascript
function getStorico() {
       
        //$(document).ready(function () {
        //    $('#showStorico').click(function () {
        var url = $('#storicoModal').data('url');

        $.get(url, function (data) {
            //$('#storicoContainer').html(data);
            //$('#storicoModal').modal('show');

            $("#storicoContainer").dialog({
                title: 'test',
                width: 500,
                height: 'auto',
                modal: true
            });
            
           
        });
        //    });
        //});
    }


mentre questo è semplicemente la funzione del controller
[HttpGet]
        public ActionResult getStorico(int id)
        {
           var model = (from v in db.Prenotati
                            where v.idmadre == id && v.Prenotato == false
                            select v).ToList();
           return PartialView(model);
        }


infine questa è la pagina cshtml che vorrei renderizzare sul popup
@model IEnumerable<Test.Models.Prenotati>

@{ Layout = null; }

<!DOCTYPE html>
<html>

</head>
<body>

    <div class="container">
        <table class="table">
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.UtentePrenotato)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.InizioPrenotazione)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.FinePrenotazione)
                </th>
                
                <th></th>
            </tr>

            @foreach (var item in Model)
            {
                <tr>
                 
                    <td>
                        @Html.DisplayFor(modelItem => item.UtentePrenotato)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.InizioPrenotazione)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.FinePrenotazione)
                    </td>
                   
                </tr>
            }

        </table>

    </div>
</body>

</html>



il problema mi sembra di capire che è sullo js perchè fin qui arriva ad eseguire

var url = $('#storicoModal').data('url');

poi passa al controller e non ritorna su js

$.get(url, function (data) {

almeno questa è la mia diagnosi... spero qualcuno mi sappia dare una mano
Grazie
1.495 messaggi dal 27 dicembre 2005
Scusa qui ti fai ritornare l'html dalla action ma poi non la usi ?

 $.get(url, function (data) {


data ovvero l'html che contiene la tabella dove la usi o la inietti ?
229 messaggi dal 20 novembre 2014
Ciao e grazie per l'interesse,

totti240282 ha scritto:
Scusa qui ti fai ritornare l'html dalla action ma poi non la usi ?

 $.get(url, function (data) {


data ovvero l'html che contiene la tabella dove la usi o la inietti ?



diciamo che la mia ultima intenzione era semplicemente far comparire una dialog con la view dentro (magari sto sparando una cavolata ma le ho provate tutte)... ad ogni modo il problema è che se metto un'alert dopo la $.get.... non la stampa proprio ma direttamente apre la vista con i dati quindi non riesco ad ottenere il mio popup ma è come se prendesse il comando il controller e mi regireziona alla view getStorico.cshtml.
Spero di essere stato un po' più chiaro
229 messaggi dal 20 novembre 2014
Ciao a tutti,
purtroppo non sono riuscito a capire quel'era il problema dato che avevo fatto un bel po' di codice, comunque sono riuscito a risolvere seguendo questo semplicissimo posto, lo consiglio a chi ha la mia stessa necessità.

http://shahvaibhav.com/how-to-show-partial-view-as-dialog-using-bootstrap/

Grazie
Ciao

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.