[英]Passing Parameters from JQuery to Controller Action in ASP.NET MVC 3
[英]Passing form data to asp.net mvc controller action using JQuery
基本上,我有一個HTML表單,希望將數據從表單傳遞給n asp.net mvc控制器,然后該控制器將返回XML以供客戶端操作。
這是我的初始代碼:
客戶:
$(function() {
$('#btnSubmit').click(function() {
$.post('/Home/Create', $('form').serialize(), function(data) {
$('#entryForm').remove('form');
// $('#entryForm form').html(data);
alert(data);
$(data).find('Person').each(function() {
alert($(this).attr('Lastname').val());
});
}, "xml");
return false;
});
});
這是我的Controller操作的代碼:
public ActionResult Create(Person p)
{
//Person p = new Person();
//p.Lastname = lastname;
//p.Firstname = firstname;
//p.Middlename = middlename;
// this returns XML Data
return new XmlResult(p);
}
在運行和調試時,我收到一條消息,指出“ attr(..)為null或不是對象。能否請您幫助我確定我在這里做錯了什么?我也很高興提出任何建議,仍然嘗試使用ASP.NET MVC學習Web開發。
謝謝
最
我意識到我正在做的很好,這是我為客戶端更新的代碼:
$(function() {
$('#btnSubmit').click(function() {
$.post('/Home/Create', $('form').serialize(), function(data) {
$('#entryForm').remove('form');
// $('#entryForm form').html(data);
$(data).find('Person').each(function() {
var $lastname = $(this).find('Lastname').text();
var $firsttname = $(this).find('Firstname').text();
var $middlename = $(this).find('Middlename').text();
// alert('<p>Lastname: ' + $lastname + '</p>');
$('<p></p>').html($lastname).appendTo('#detailsForm');
});
}, "xml");
return false;
});
});
現在,我的下一個挑戰是如何使用ASP.NET MVC將XML文件發送到客戶端,以便可以使用JQuery處理XML?
謝謝
public ActionResult ReturnXmlFile() {
return File( byte[] data, "text/xml" );
...
return File( string filename, "text/xml" );
...
return File( Stream filestream, "text/xml" );
}
為什么不使用JSon Result? JQuery支持將$ .post調用中的“ xml”替換為“ json”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.