2016-04-13 8 views
4

.net mvc ve jquery kullanarak olay yönetimi için bir web uygulaması oluşturuyorum. SeatPlansController adlı bir mvc web app.contoller ve SeatPlanes adlı bir model oluşturdum ve verileri veritabanına ekleyebildim. Ancak mvc denetleyicisini kullanarak verileri jquery'den veritabanına geçiremiyorum. Kontrolör Kimliği oluşturmak gönderidemvc .net web uygulamasında jquery'den (özel görünüm sayfasında) contoller post eylemini nasıl çağırabilirim

 

    // GET: SeatPlans/Create 
    public ActionResult Create() 
    { 
     return View(); 
    } 

    // POST: SeatPlans/Create 
    // To protect from overposting attacks, please enable the specific properties you want to bind to, for 
    // more details see http://go.microsoft.com/fwlink/?LinkId=317598. 
    [HttpPost] 
    [ValidateAntiForgeryToken] 

public ActionResult Create(String seat_id, String seat_no) 
     { 
      int id = 10; 
      SeatPlans S = new SeatPlans(); 
      S.seat_id = seat_id; 
      S.seat_no = seat_no; 
      if (ModelState.IsValid) 
      { 


       db.SEATPLAN.Add(S); 
       db.SaveChanges(); 
       // return RedirectToAction("Index"); 
      } 

      return View(S); 
     } 


aşağıda gösterildiği gibi

Benim denetleyicisi eylem kod birincil anahtardır, bu yüzden argüman olarak seat_id, seat_no geçmek istiyorsanız ve veritabanını güncellemek gerekir.

ben

http://localhost:52348/SeatPlans/Create 

kullanarak oluşturmak olsun yöntemini çalıştırmak mümkün ama nasıl argümanı ile doğrudan tarayıcıdan

gibi şey sonrası yöntemi çalıştırabilirsiniz javascript

function getPerson(id) { 

    $.ajax({ 
     type: "GET", 
     url: '@Url.Action("create", "SeatPlanesController")', 
     contentType: "application/json; charset=utf-8", 
     data: {eat_id :6, seat_no:8}, 
     dataType: "json", 
     success: function (result) { 
      alert(result); 
      //window.locationre = result.url; 
     } 
    }); 
} 

aşağıdaki kullanılan

http://localhost:52348/SeatPlans/Create/2/3t/e 

Komutu feryat olarak değiştirdim, GET yöntemi için çalıştığı ama TYPE yaptıysanız: "yazı" o uyarı ile bir uyarı kutusu ile "localhost: 52348 diyor ki: iç sunucu hatası" Nihayet

 




    $(document).ready(function() { 
      $("button").click(function() { 
       $.ajax({ 
        type: "POST", 
        contentType: "application/json; charset=utf-8", 
        url: '@Url.Action("Create", "SeatPlans", new { Area = "" })', 
        data: { seat_id: "34", seat_no: "98" }, 
        dataType: "json", 
        async: false, 
        success: function (result) { 
         $("#div1").html(result); 
        }, 

        error: function (abc) { 
        alert(abc.statusText); 
        }, 



       }); 
      }); 
     }); 




+0

jquery kodunuzu gönderin – Baahubali

+0

şimdi javascript kodunu quesion içinde yayınladım –

+4

Verileri, 'data: 'seçeneğini kullanarak denetleyiciye iletmeniz gerekiyor - ör. veri {ID: 1}. Ama sen ajax çağrısı, bir POST değil, bir GET. GET yönteminizin herhangi bir parametresi bile olmadığı için denetleyiciye ne yapmak istediğinizi ve ne yapmak istediğinizi belirsizdir. –

cevap

1

i olarak senaryoyu sollution değişti

 

     //jQuery.noConflict(); 
     // var $j = jQuery.noConflict(); 

     function clickevent() 
     { 
      var form = $("#frm"); 
      var token = $('input[name="__RequestVerificationToken"]', form).val(); 
       $.ajax({ 
        type: "post", 
        // headers: { "__RequestVerificationToken": token }, 
        url: '@Url.Action("Create", "SeatPlans")', 
        data: { 
         seat_id: "34", seat_no: "98" 
        }, 
        success: function (result) { 


          $("#div1").html(result); 

        } 
       }); 
      } 



ve değişim körük sonrası yöntem oluşturmak olarak

<pre> 


    public ActionResult Create(String seat_id, String seat_no) 
    { 
     int id = 10; 
     SeatPlans S = new SeatPlans(); 
     S.seat_id = seat_id; 
     S.seat_no = seat_no; 
     if (ModelState.IsValid) 
     { 


      db.SEATPLAN.Add(S); 
      db.SaveChanges(); 
      // return RedirectToAction("Index"); 
     } 

     return View(S); 
    } 

körük
İlgili konular