Il Rendering Parziale Vista in codice MVC Razor

Sto usando MVC 3 Rasoio per fare un semplice CMS per fare pratica, e l’idea è che sto creando un paio di viste parziali.

Ho voglia di fare una ricerca nel database, e vedere che 3 vista parziale bisogno di rendering della pagina.

Come posso fare questo? In WebForms, si chiama LoadControl(ControlURL), ma non vedo un equivalente qui.

Sarebbe una lato client cosa?

Modifica – ero più pensando di prendere un nome di Visualizzazione del modello, e il rendering di vista piuttosto che conoscere il nome di visualizzare in anticipo. Così che una pagina può avere una visione di nome Pippo o vista denominato Bar. Il modello, in fase di esecuzione la volontà di raccontare l’azione del controller della vista che per il rendering.

InformationsquelleAutor Paul | 2011-10-14



4 Replies
  1. 50

    Ci sono due metodi che è possibile utilizzare per eseguire il rendering di un “controllo”.

    @Html.Partial("ViewName")
    @{ Html.RenderPartial("ViewName"); }

    È anche possibile rendere le altre azioni.

    @Html.Action("ActionName", "Controller", new { Values = "yourvalues" })
    @{ Html.RenderAction("ActionName", "Controller", new { Values = "yourvalues" }); }

    Avviso la seconda di ognuno è circondato da @{ } questo è perché non restituire una stringa, ma il rendering direttamente nel flusso.

    • Grazie, con il codice Html.RenderPartial sto ottenendo Nessun sovraccarico per il metodo di ‘Scrivere’ prende 0 argomenti quando lo si utilizza con la @ e {}
    • Suona come la generazione di codice non è riuscita o il call non è valido. Potresti incollare la tua chiamata qui?
  2. 0
    Html.RenderPartial("partialview name", Model.class, new ViewDataDictionary { TemplateInfo = new TemplateInfo { HtmlFieldPrefix = "classname" } });
    
    This code can be used to render the partial view in apge.
    HTMLfiledprefix is defined to keep the data available in the model
    
    You can use tis code to load a partial view on a button event using ajax
     function partialview() {
            var url = '@Url.Action("action", "controller")';
            var data = $('#frm').serialize();
    (to serialize the data in the model before posting to the action)
            var finaldata = data;
            $.ajax({
                type: "post",
                url: url,
                data: finaldata,
                async: false,
                contentType: "application/json; charset=utf-8",
                error: function (xhr) {
                    errorRedirecttoErrorController(xhr.error);
                },
                success: function (data) {
                    $("#DIVID").html(data);
    (div to which the partial view to be loaded)
                }
            });
        }

Lascia un commento