0

mon but est de créer une liste de contenu (de docType spécifique). Dans cette liste, j'ai un bouton de filtre et deux ddlist dynamiquement remplis de données enfants. Lorsque l'utilisateur clique sur le "filtre", la liste doit être mise à jour par les valeurs sélectionnées de la liste de diffusion. Est-il possible d'utiliser RenderMVCController pour cela? Je ne pouvais pas utilisé surfaceController parce que je ne peux pas avoir accès à l'action Index avant de rendre la page. Est-il possible d'utiliser Ajax lorsque l'utilisateur soumet le formulaire au lieu de rafraîchir toutes les pages?utiliser RenderMvcController pour filtrer une liste dans Umbraco

Voir

using (Html.BeginUmbracoForm("FilterPage", "inTheFieldController", FormMethod.Post, htmlAttributes: new { @id = "PageInTheField" })) 
{ 
//.... 
} 

Contrôleur

public class inTheFieldController : RenderMvcController 
{ 

    private readonly UmbracoContext umbracoContext; 

    public inTheFieldController() 
    { 
     umbracoContext = UmbracoContext.Current; 
    } 


    // GET: inTheField 
    public ActionResult Index()//RenderModel model) 
    { 
} 

et je veux avoir quelque chose comme ceci:

[HttpPost] 
    public ActionResult FilterPage(inTheFieldModel model) 
    { 
    return null 
    } 

Mais il n'a jamais atteint ce point, il demande surfaceController.

enter image description here

Répondre

0

Oui, si vous utilisez le BeginUmbracoForm il attend toujours un SurfaceController. Idéalement, vous devriez utiliser SurfaceController pour les formulaires. Je ne comprends pas clairement ce que vous essayez de faire ici, mais vous pouvez utiliser @ Ajax.BeginForm et le coupler avec une action SurfaceController

+0

Si j'utilise SurfaceControllers, comment puis-je remplir ddlist? J'ai besoin d'avoir Index avant de rendre la page. Est-ce possible avec les contrôleurs de surface? –

+0

créer un modèle de vue avec une liste et renvoyer ce modèle de vue à partir de l'action d'index –