Piszę aplikację z asp.net mvc. Mam kontroler z akcją, która używa jakiegoś parametru ViewModel jako parametru. Jak wysłać dane formularza z postem jquery do tego kontrolera mvc.Jak wysłać dane w jquery.post do kontrolera mvc, który używa ViewModel jako parametru?
Odpowiedz
$.post("Yourcontroller/YourAction", { FirstName : $("#txtFirstName").val(), LastName : $("#txtLastName") } ,function(data){
//do whatever with the response
});
nazwami ViewModel własności i parametr mijamy powinny być takie same. Tj: Twój widok model powinien mieć 2 właściwości nazywa FirstName
i LastName
jak jego
public class PersonViewModel
{
public string FirstName { set;get;}
public string LastName { set;get;}
// other properties
}
i Twojego sposobu działania Poczty powinien przyjmować parametr typu PersonViewModel
[HttpPost]
public ActionResult YourAction(PersonViewModel model)
{
//Now check model.FirstName
}
Alternatywnie Jeśli widok jest zdecydowanie wpisane do PersonViewModel, wystarczy wysłać formularz zserializowaną metody działania, stosując metodę
$.post("Yourcontroller/YourAction", $("#formId").serialize() ,function(data){
//do whatever with the response
});
jQuery
EDIT: Zgodnie z komentarzem
Serialize
zajmie własność dziecka, jak również. Zakładam, że masz klasę o nazwie Zawód jak ten
public class Profession
{
public string ProfessionName { set; get; }
}
A twój PersonViewModel ma właściwość typu Profession
public class PersonViewModel
{
//other properties
public Profession Profession { set; get; }
public PersonViewModel()
{
if (Profession == null)
Profession = new Profession();
}
}
Dostaniesz te dane w HttpPost metoda działania, jeżeli wypełni że z widoku .
var myData = {
Parameter1: $("#someElementId").val(),
Parameter2: $("#anotherElementId").val(),
ListParameter: { /* Define IEnumerable collections as json array as well */}
// more params here
}
$.ajax({
url: 'someUrl',
type: 'POST',
dataType: "json",
contentType: 'application/json',
data: JSON.stringify(myData)
});
[HttpPost]
public JsonResult Create(CustomViewModel vm)
{
// You can access your ViewModel like a non-ajax call here.
var passedValue = vm.Parameter1;
}
Można również szeregować cały formularz i przekazywać go do metody działania kontrolera. W Tobie ajax rozmowy:
data: $('form').serialize()
Great !!! Nie wiedziałem, że to będzie prace. Dzięki. Sprawdzę i udzielę ci pomocy. – Radislav
- 1. jQuery.POST - przekazanie innego parametru za pomocą Form.Serialize() - Asp.net MVC 3
- 2. Jak dynamicznie pobierać dane z kontrolera ASP.NET MVC do jQuery?
- 3. Napisz do kontrolera, który używa AuthComponent w CakePHP 2
- 4. Jak wysłać ogólne obiekty do kontrolera Spring?
- 5. Spring MVC: atrybut żądania wiązania do parametru metody kontrolera
- 6. Jak mogę zaakceptować tablicę jako parametr działania kontrolera ASP.NET MVC?
- 7. wielowymiarowej tablicy do kontrolera MVC
- 8. przekazywanie danych JSON do kontrolera Spring MVC
- 9. ASP.NET MVC 3 Viewmodel Pattern
- 10. Jak przekazać całą ViewModel z powrotem do kontrolera
- 11. ASP.NET MVC 3 - ViewModel Najlepsze praktyki
- 12. Pobieranie danych w klasie ASP.NET MVC ViewModel?
- 13. Który ruby powłoki używa jako podpowłoki?
- 14. Jak wysłać żądanie do "j_spring_security_check" od kontrolera
- 15. Programowy dostęp do iframe, który używa danych URI jako źródło
- 16. Przykład MVC ViewModel
- 17. MVC 4 _Layout.cshtml viewmodel
- 18. ASP.NET MVC: Nie można uzyskać parametru ciąg w moim kontrolera
- 19. Jak dodać trasę MVC do określonego kontrolera?
- 20. ViewModel właściwość kolekcja stracił wartości po wysłaniu z powrotem do działania kontrolera w MVC 3
- 21. Jak przekazać dane z AuthorizeAttribute do kontrolera?
- 22. Przekazywanie tablicy int do kontrolera MVC
- 23. ASP.NET MVC: Jak wysłać wiadomość e-mail w formacie HTML za pomocą kontrolera?
- 24. ASP.NET MVC - przekazywania parametrów do kontrolera
- 25. Nie mogę uzyskać kontrolera ASP.NET MVC 6, który zwróci JSON
- 26. wysłać e-maila do kontrolera akcji Symfony2
- 27. Przekazywanie obiektu observablearray knockout.js do działania kontrolera MVC?
- 28. Jak wysłać dane przez PendingIntent do transmisji?
- 29. SignalR: Jak wysłać dane do IConnected.Connect()
- 30. Wysyłanie danych z jquery do kontrolera MVC
Co zrobić, jeśli mój model zawiera jakiś viewModel jako właściwość? Na przykład Osoba ma zawód Właściwość z innymi właściwościami? – Radislav
@Radislav: Tak, będzie. Sprawdź moją zaktualizowaną odpowiedź. – Shyju
Exelent !!! Wielkie dzięki!!!! – Radislav