Récupérer donnée Post

Fermé
Juduno - 12 juil. 2018 à 13:51
 Juduno - 12 juil. 2018 à 16:44
Bonjour,

j'ai une view créer en mvc dans celle-ci ce trouve un formulaire, une fois mon formulaire rempli (je click sur un bouton) j'insert en base les données de celui ci , mon soucis ce porte sur la récupération de l'lid auto incrémenté avec la méthode ajax pour la transmettre à un autre formulaire dans une autre page

merci d'avance pour vos réponse

1 réponse

Bonjour,


j'ai une view créer en mvc

MVC... dans quels langages ?

j'insert en base les données

Quel SGBD utilise tu ? Mysql ? Oracle ? SqlServer ? PostgreSql ? Autre ?

mon soucis ce porte sur la récupération de l'lid auto incrémenté

La récupération du dernier ID se fait du côté du script serveur.
- Si ta BDD est en mysql, il faut que tu regardes mysqli_insert_id ou sinon en pdo : lastinsertid
- Si ta Bdd est en sqlServer : faut regarder SCOPE_IDENTITY
Etc.. ça dépend de ta BDD

A moins que ton souci ne soit pas la récupération du dernier ID mais sa transmission dans un autre formulaire.... difficile à savoir vu comment tu as formulé ta question.

Si ma réponse ne convient pas... n'hésite pas à nous indiquer plus précisément ce que tu souhaites obtenir... et surtout en nous montrant ce que tu as commencé à coder.
Car là on ne peut que supposer.

Bonne journée.
0
salut,

ça c'est le code ma page

@model  IresaBoMvc.Areas.Parametrage.Models.GroupeTarifaireModel
@using ServiceStack;

<input type="hidden" id="ModelCriteres" value="@Model.ToJson()" />
@{

  if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.Popup)
  {
    Layout = "~/Views/Shared/_LayoutPartial.cshtml";
    ViewBag.TitrePartial = Resources.Common.TitreIResa;
  }
  else
  {
    ViewBag.Title = Resources.Common.TitreIResa;
    ViewBag.BackLink = Url.Action("Index");

  }

}

<[/contents/242-introduction-au-dynamic-html-dhtml div] class="page-content" data-ng-controller="GroupeTarifaire">
  <div class="container">
    <div class="iresa-tabs">
      <div class="widget-box widget-orange">
        <div class="widget-header">
          <h5 class="widget-title bolder">
            <i class="icon-table bigger-120"></i> @Resources.GroupeTarifaire.AddGroupetarifaire
          </h5>
        </div>
        <div class="tab-content">

          @using (Html.BeginForm("InsertGroupe", "GroupeTarifaire", FormMethod.Post))
          {
            <div class="widget-iresa">
              <div class="widget-header widget-header-small">
                <h5 class="widget-title bolder">
                  @Resources.GroupeTarifaire.CreateConfig
                </h5>
              </div>
              <div class="widget-body">
                <div class="widget-main">
                  <div class="row">
                    <div class="col-sm-6">
                      <div class="form-group">
                        <label class="control-label">@Resources.GroupeTarifaire.CreateGroupeTarifaireTitre</label>
                        @if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.ParDefaut)
                        {
                          @Html.TextBoxFor(m => m.Nom, new { @class = "form-control", placeholder = @Resources.GroupeTarifaire.CreateGroupeTarifairePlaceholderNom })
                        }
                        else
                        {
                          <span class="pull-right" data-tooltip="tooltip" title="@***@***">
                            <i class="icon-warning-sign orange"></i>
                          </span>

                          @Html.TextBoxFor(m => m.Nom, new { @class = "form-control", placeholder = @Resources.GroupeTarifaire.CreateGroupeTarifairePlaceholderNom, data_ng_model = "modelCriteres.nom" })

                        }
                      </div>
                    </div>

                    <div class="col-sm-6">
                      <div class="form-group">
                        <label class="control-label">@Resources.GroupeTarifaire.CreateFils </label>
                        @if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.ParDefaut)
                        {
                          <data:search-foreign-key class="form-control" name="Pere.Id"
                                                   data-nom-table="'groupe_tarifaire'"
                                                   data-colonne-nom="'grpt_nom'"
                                                   data-colonne-id="'grpt_id'"
                                                   data-default-id="modelCriteres.pere.id"
                                                   data-default-nom="modelCriteres.pere.nom"
                                                   data-page-size="20"
                                                   data-ng-model="modelCriteres.pere.id"
                                                   data-page="1"
                                                   data-class-icon="icon-location-arrow"
                                                   data-where="'AND grpt_reutilisable = 1'"></data:search-foreign-key>
                        }
                        else
                        {
                          @Html.HiddenFor(m => m.Pere.Id, new { @class = "form-control", data_ng_model = "modelCriteres.pere.id" })
                          <label class="form-control" data-ng-model="modelCriteres.pere.id">@Model.Pere.Nom</label>
                        }
                      </div>
                    </div>
                  </div>

                  @if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.ParDefaut)
                  {
                    <div class="form-group">
                      <label class="control-label">@Resources.GroupeTarifaire.ReadDescription</label>
                      @Html.TextAreaFor(m => m.Description, new { @class = "form-control", placeholder = @Resources.GroupeTarifaire.CreateGroupeTarifairePlaceholderDescription })
                    </div>
                  }
                </div>
              </div>
            </div>

            <div class="widget-iresa">
              <div class="widget-header widget-header-small">
                <h5 class="widget-title bolder">
                  @Resources.GroupeTarifaire.ReadCriteres
                </h5>
              </div>
              <div class="widget-body" id="resultsoperations">
                @Html.HiddenFor(m => m.NbCriteres, new { data_ng_value = "modelCriteres.criteres.length" })
                <div class="alert alert-danger" data-ng-show="validated && modelCriteres.criteres.length == 0">
                  @Resources.GroupeTarifaire.ValidatorErreurCritere
                </div>
                @if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.ParDefaut)
                {
                  { Html.RenderAction("PartialCriteresCreate", Model); }
                }
                else
                {
                  { Html.RenderAction("PartialCriteresCreateALaVolee", Model); }
                }
              </div>
            </div>

            <div class="widget-toolbox padding-8 text-right">
              <div class="text-right">
                <button type="submit" class="btn btn-success" data-ng-click="insert()">
                  <i class="icon-save bigger-120"></i> @Resources.Common.BoutonSauvegarder
                </button>
                @if (Model.Context == IresaCommon.TypeContextGroupeTarifaire.ParDefaut)
                {
                  <a class="btn btn-default" data-ng-click="cancelNewGroupe()">
                    <span class="icon-undo"></span> @Resources.Common.BoutonAnnuler
                  </a>
                }
              </div>
            </div>

          }
        </div>
      </div>
    </div>
  </div>
</div>


EDIT : Correction des balises de code pour avoir la coloration syntaxique ! (jordane)

et donc oui mon soucis aprs_ avoir fait le SCOPE_IDENTITY c'est de le remonter dans mon js pour le transmettre à un autre formulaire
0
il est où ton code javascript? ton appel ajax ? Je ne le vois pas.
0
c'est pas mon js qui insert les donnée avec le using je vais à mon controler "InsertGroupe" qui lui va dans mon service et qui insert en base le js que j'utilise c'est plus des questions d'affichage dynamique en fonction des valeurs que je rentre, et du coup pour j'ai vu que il n'ya que par l'ajax que je peut récupérer des valeurs d'un post du coup j'ai poser la question parceque justement je sais pas comment faire
0
Tu ne fais pas d'ajax actuellement ?
L'ajax étant l'appel, par un script JS, à un script qui se trouve côté serveur.
Visiblement tu codes en ASP et ne vois aucune utilisation du javascript dans ce que tu es en train de faire....
Ta question aurait d'avantage sa place dans le forum .NET ou C# à mon avis
A la limite, tu peux trouver sur internet des tutos sur la mise en place d'ajax dans des projets mvc ASP
https://msdn.microsoft.com/fr-fr/library/dd381533(v=vs.100).aspx
http://blog.pagesd.info/2009/11/02/utiliser-ajax-aspnetmvc/
https://www.c-sharpcorner.com/blogs/using-ajax-in-asp-net-mvc
0
merci de vos réponse

j'ai fais un truc dans le genre

 var adresseActuelle = window.location; 
 
    $.post(adresseActuelle.href, function (data, status) {
      if (status = "success") {
        alert("Data: " + data + "\nStatus: " + status);

      }
    });


mais rien en retour je suppose que data dois etre rempli par des données mais j'ai pas trop compris par quoi? mon model?
0