SORU
12 Mayıs 2011, PERŞEMBE


Jquery AJAX Post türü kesin belirlenmiş modeli kullanmak için doğru yolu MVC3 görüntüleyin

Bir acemi web programcı lütfen "jargon" doğru değil.benim bazı eğer beni affet Bir proje ASP.NET MVC3 çerçevesinde kullanma var.

Admin ekipman listesi değiştirir burada admin bir görünüm üzerinde çalışıyorum. Tek fonksiyonları "" dinamik bir WordPress kullanmak için kullanmak istediğiniz düğmeye girdiyi düzenlemek MVC denetleyicisi için bir post gönderdikten sonra. web sayfasında güncelleme

Bu yaklaşım, "" tek bir yönetici sayfası sync çıkıyorum veritabanı ile en az endişe var ortamda. güvenli olur sanırım

Kesinlikle yazılan bir görünüm yarattım ve MVC kontrol AJAX post kullanarak model verileri aktarmak için bir umut oldu.

Aşağıdaki yazı, ne bakıyorum ne benzer bir şey buldum: JQuery Ajax and ASP.NET MVC3 causing null parameters

Yukarıda yazılan kod örneği kullanacağım.

Model:

public class AddressInfo 
{
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }
    public string Country { get; set; }
}

Denetleyici:

public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public ActionResult Check(AddressInfo addressInfo)
    {
        return Json(new { success = true });
    }
}

Görünümünde komut:

<script type="text/javascript">
var ai = {
    Address1: "423 Judy Road",
    Address2: "1001",
    City: "New York",
    State: "NY",
    ZipCode: "10301",
    Country: "USA"
};

$.ajax({
    url: '/home/check',
    type: 'POST',
    data: JSON.stringify(ai),
    contentType: 'application/json; charset=utf-8',
    success: function (data.success) {
        alert(data);
    },
    error: function () {
        alert("error");
    }
});
</script>

Yukarıda henüz kullanmak için bir şans vardı değil. Ama eğer bu "" yöntem model verileri kontrol MVC AJAX kullanarak tekrar geçmek için? iyi olup olmadığını merak ediyordum

Model bilgileri ifşa hakkında endişelenmeli miyim?

CEVAP
16 Aralık 2011, Cuma


3 yol bu uygulamaya buldum:

C# sınıf:

public class AddressInfo {
    public string Address1 { get; set; }
    public string Address2 { get; set; }
    public string City { get; set; }
    public string State { get; set; }
    public string ZipCode { get; set; }
    public string Country { get; set; }
}

Eylem:

[HttpPost]
public ActionResult Check(AddressInfo addressInfo)
{
    return Json(new { success = true });
}

JavaScriptbunu üç şekilde yapabilirsiniz:

1) String Sorgu:

$.ajax({
    url: '/en/Home/Check',
    data: $('#form').serialize(),
    type: 'POST',
});

Veri burada bir dize.

"Address1=blah&Address2=blah&City=blah&State=blah&ZipCode=blah&Country=blah"

2) Bir Dizi Nesne:

$.ajax({
    url: '/en/Home/Check',
    data: $('#form').serializeArray(),
    type: 'POST',
});

Burada veri anahtar/değer çiftleri bir dizi

=[{name: 'Address1', value: 'blah'}, {name: 'Address2', value: 'blah'}, {name: 'City', value: 'blah'}, {name: 'State', value: 'blah'}, {name: 'ZipCode', value: 'blah'}, {name: 'Country', value: 'blah'}]

3) JSON:

$.ajax({
      url: '/en/Home/Check',
      data: JSON.stringify({ addressInfo:{//missing brackets
          Address1: $('#address1').val(),
          Address2: $('#address2').val(),
          City: $('#City').val(),
          State: $('#State').val(),
          ZipCode: $('#ZipCode').val()}}),
      type: 'POST',
      contentType: 'application/json; charset=utf-8'
});

Veri burada sıralanmış bir JSON dize. Adı parametresi sunucu adı! maç için olduğunu unutmayın!

='{"addressInfo":{"Address1":"blah","Address2":"blah","City":"blah","State":"blah", "ZipCode", "blah", "Country", "blah"}}'

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FILIPeeeK

    FILIPeeeK

    22 Mayıs 2006
  • RobertDuskin

    RobertDuskin

    12 HAZİRAN 2008
  • Theodore Leaf

    Theodore Lea

    29 AĞUSTOS 2006