我有一個包含HTML表的div,我需要將該表傳遞給MVC3中的控制器。我正在嘗試使用ajax調用來傳遞表。調試時,我得到我的控制器到我的行爲聲明,但通過HTML表的值傳遞爲null。我是否發送正確。發送它有什麼問題。 請參考下面的鏈接,即使這一點,他們都面臨着同樣的問題 how to send html table from view to controller in mvc4在Ajax調用中向控制器發送數據時接收空值
下面是我的Ajax調用代碼:
$('#frmLogin').submit(function() {
var sendhtml = $('#divCashResultHolder').html();
//alert(sendhtml);
$.ajax({
url: '@Url.Action("ExportData", "CashCollection")',//action method url which defined in controller
type: 'POST',
data: { "htmlTable": sendhtml },
dataType: 'json',
contentType: 'application/json; charset=utf-8',
async: true,
processData: false,
success: function(){
console.log('success!!');
}
});
控制器代碼
[HttpPost]
public ActionResult ExportData(string htmlTable)
{
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-disposition", "attachment;filename=CashCollection_" + DateTime.Now.Ticks + ".xls");
return View("CashCollection");
}
在控制器中我得到'字符串htmlTable'爲空值。我試圖將其設置爲HTML字符串類型沒有運氣。此外,我試圖發送數據:JSON.stringify(sendhtml)也沒有運氣。
嘗試設置'processData'到TRUE; – Grundy
好的,謝謝ü我得到的控制器值,但只有當div包含字符串值,然後,在控制器的參數就說明值。如果div包含表格,那麼它不會來控制器本身 – user1003054