2017-10-06 3 views
2

Ci-dessous, j'essaie de faire une demande Post to Action Method/Handler à l'intérieur de CustomerModel Razor Pages.Comment gérer la requête Ajax avec Razor Pages dans ASP.NET Core, 2.0

nom de RazorPage est "Customer.cshtml"

Reliure DROPDOWNLIST de l'Ajax demande

<div class="col-xs-12 col-sm-6 col-md-6 col-lg-4"> 
<select class="form-control" id="CustomerID" 
     name="CustomerID" 
     asp-for="Customer.CustomerID" 
     asp-items="@(new SelectList(string.Empty,"CustomerID", "Name"))"> 
</select> 

Ajax Demande

J'ai aussi essayé d'appeler seulement poignée er mais montrer l'erreur

<script type="text/javascript"> 
$(document).ready(function() 
{ 
    $.ajax({ 
      type: 'GET', 
      // we are calling json method 

      // /Pagename/ActionMethod 
      // /Pagename/Handler(OnGetListofCustomer) 

      url: '/Customer/OnGetListofCustomer', 
      contentType: "application/json", 
      success: function (data) { 
       $("#CustomerID").append('<option value="' + "0" + '">' + "Select State" + '</option>'); 
       debugger; 
       $.each(data, function (i, state) { 
        $("#CustomerID").append('<option value="' + state.CustomerID + '">' + state.Name + '</option>'); 
       }); 
      }, 
      error: function (ex) { 
       alert('Failed to retrieve states.' + ex); 
      } 
     }); 
}); 

PageModel

CustomerModel

Erreur lors Ajax Faire demande

enter image description here

+0

Rappelez-vous aussi de définir le jeton voir anti-contrefaçon: https://stackoverflow.com/questions/46410716/example-ajax-call-back- to-an-asp-net-core-rasoir-page –

Répondre

3

Je ne pense pas que vous êtes en mesure d'accéder à la méthode d'action page rasoir comme ça. Pouvez-vous essayer comme ça?

$.getJSON("/Customer?handler=ListofCustomer",function(data){ 
    //Do something with the data. 
}); 

Car pour accéder à toutes les méthodes autres que par défaut onget ou méthodes OnPost dont nous avons besoin des gestionnaires, qui exécution Google Maps en interne aux méthodes.

+0

Merci pour la réponse @Anuraj – Saineshwar

1

Pour appeler un gestionnaire, vous devez ajouter un mot-clé de gestionnaire.

URL: -/Customer? Handler = ListofCustomer.

URL: -/Page Razor Nom handlerName

jquery code snippet for calling Get Request