Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Ajax Discussion :

insertionMode.replace qui ouvre une nouvelle page


Sujet :

ASP.NET Ajax

  1. #1
    Nouveau membre du Club
    insertionMode.replace qui ouvre une nouvelle page
    Bonjour, je suis actuellement bloqué sur un appel ajax tout simple.

    j'ai un formulaire avec un champ "identifiant" et un bouton/lien qui doit me renvoyer les informations de l'identifiant, via une vue partielle.

    le souci, c'est que mon appel ajax ouvre uniquement la vue partielle, au lieu de l'insérer dans la page en cours.

    la page de base :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <div class="container">
        <div class="col-lg-9 col-md-9 col-sm-9 col-xs-12">
            <h2>Information Accidenté</h2>
            <br />
            <div id="passageInfirmerie">
                @using (Html.BeginForm("SaveInfoAccidente", "CreateCra"))
                {
                    <div class="input-group">
                        @Html.TextBoxFor(x => x.IdAccidente, new { @class = "form-control", @autofocus = "true", @placeholder = "Identifiant" })
                        @Ajax.ActionLink("Rechercher", "InfoPersonne",
                       new AjaxOptions
                       {
                           InsertionMode = InsertionMode.Replace,
                           UpdateTargetId = "AffichePersonne",
                           HttpMethod = "GET"
                       })
                    </div>
                    @Html.ValidationMessageFor(x => x.IdAccidente)
                }
                <br />
            </div>
            <div id="AffichePersonne" name="AffichePersonne"></div>
        </div>
    </div>


    la vue partielle a afficher:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    @model ABC.Model.Personne
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.id_chorus)
        @Html.TextBoxFor(x => x.id_chorus, new { @class = "form-control", @disabled = "disabled" })
    </div>
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.id_isis)
        @Html.TextBoxFor(x => x.id_isis, new { @class = "form-control", @disabled = "disabled" })
    </div>
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.last_name)
        @Html.TextBoxFor(x => x.last_name, new { @class = "form-control", @disabled = "disabled" })
    </div>
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.first_name)
        @Html.TextBoxFor(x => x.first_name, new { @class = "form-control", @disabled = "disabled" })
    </div>
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.telephone_number)
        @Html.TextBoxFor(x => x.telephone_number, new { @class = "form-control", @disabled = "disabled" })
    </div>
    <div class="col-lg-3 col-md-3 col-sm-12 col-xs-12 form-group">
        @Html.LabelFor(x => x.email)
        @Html.TextBoxFor(x => x.email, new { @class = "form-control", @disabled = "disabled" })
    </div>


    et la méthode qui renvoie la vue partielle :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public PartialViewResult InfoPersonne(string identifiant="******")
            {
                Personne vm = new Personne();
                if (identifiant!=null)
                {
                    vm = new DALPersonne().GetById(identifiant); 
                }
                return PartialView("InfoPersonne",vm);
            }


    je vois vraiment pas ce qui foire, si quelqu'un a une idée?

    Merci d'avance

  2. #2
    Nouveau membre du Club
    après quelques heures de recherche...
    ce qui plantait c'était le lien vers ajax... j'avais mis des "\" au lieu de "/"...