亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ASP.NET MVC如何將JSON對象從View傳遞到Controller作為參數

ASP.NET MVC如何將JSON對象從View傳遞到Controller作為參數

森林海 2019-10-06 13:02:05
我有一個復雜的JSON對象,該對象沒有任何問題即可發送到視圖(如下所示),但是當通過AJAX調用將數據序列化回.NET對象時,我無法弄清楚如何將該數據序列化回.NET對象。各個部分的詳細信息如下。   var ObjectA = {        "Name": 1,        "Starting": new Date(1221644506800),        "Timeline": [            {                "StartTime": new Date(1221644506800),                "GoesFor": 200            }            ,            {                "StartTime": new Date(1221644506800),                "GoesFor": 100            }        ]    };我不確定如何將該對象傳遞給Controller方法,下面有此方法,其中,Timelines對象使用Properties鏡像上述JS對象。public JsonResult Save(Timelines person)我正在使用的jQuery是:        var encoded = $.toJSON(SessionSchedule);        $.ajax({            url: "/Timeline/Save",            type: "POST",            dataType: 'json',            data: encoded,            contentType: "application/json; charset=utf-8",            beforeSend: function() { $("#saveStatus").html("Saving").show(); },            success: function(result) {                alert(result.Result);                $("#saveStatus").html(result.Result).show();            }        });我已經看到了類似的問題,但是與我沒有使用表單來操縱數據的問題并不完全相同。 如何使用JSON將復雜類型傳遞給ASP.NET MVC控制器我還看到了使用'JsonFilter'手動反序列化JSON的參考,但是我想知道是否有一種方法可以通過ASP.NET MVC來實現?;蛞赃@種方式傳遞數據的最佳實踐是什么?
查看完整描述

3 回答

?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

您說“我沒有使用表格來操縱數據?!?但是您正在執行POST。因此,實際上,您正在使用一種表單,即使它為空。


$ .ajax的dataType告訴jQuery服務器將返回什么類型,而不是您要傳遞的類型。POST只能通過表格。jQuery 會將數據轉換為鍵/值對,并將其作為查詢字符串傳遞。從文檔:


數據要發送到服務器。如果還不是字符串,則將其轉換為查詢字符串。它被附加到GET請求的URL上。請參閱processData選項以防止這種自動處理。對象必須是鍵/值對。如果value是一個Array,則jQuery使用相同的鍵序列化多個值,即{foo:[“ bar1”,“ bar2”]}變為'&foo = bar1&foo = bar2'。


因此:


您沒有將JSON傳遞到服務器。您正在將JSON傳遞給jQuery。

模型綁定的發生方式與其他情況下的發生方式相同。


查看完整回答
反對 回復 2019-10-06
  • 3 回答
  • 0 關注
  • 1196 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號