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

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

如何將整套模型附加到formdata并在MVC中獲取它

如何將整套模型附加到formdata并在MVC中獲取它

江戶川亂折騰 2019-05-23 13:44:30
如何將整套模型附加到formdata并在MVC中獲取它如何通過formdata傳遞整個模型對象并將其轉換為控制器中的模型類型?以下是我嘗試過的!JavaScript部分:model = {              EventFromDate: fromDate,              EventToDate: toDate,              ImageUrl: imgUrl,              HotNewsDesc: $("#txthtDescription").val().trim(),         };formdata.append("model",model);然后通過AJAX傳遞它,它將是一個字符串,如果我檢查Request.Form["model"]結果的值將是相同的,那就是它將作為字符串接收并且值將是"[object object]"有沒有辦法通過formdata傳遞模型并在控制器中接收它?
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

如果您的視圖基于模型并且您已在<form>標記內生成控件,則可以將模型序列化為FormData使用

var formdata = new FormData($('form').get(0));

這還包括使用生成的任何文件 <input type="file" name="myImage" .../>

然后用它回發

$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         });

并在你的控制器

[HttpPost]public ActionResult YourActionName(YourModelType model){}

或(如果您的模型不包含屬性HttpPostedFileBase

[HttpPost]public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage){}

如果要添加表單中沒有的其他信息,可以使用附加信息

formdata.append('someProperty', 'SomeValue');


查看完整回答
反對 回復 2019-05-23
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

在視圖方面,如果您使用的是ajax,

$('#button_Id').on('click', function(){
        var Datas=JSON.stringify($('form').serialize());
        $.ajax({
            type: "POST",
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            url: '@Url.Action("ActionName","ControllerName")',
            data:Datas,
            cache: false,
            dataType: 'JSON',
            async: true,
            success: function (data) {

            },
        });
    });

在控制器方面,

 [HttpPost]
 public ActionResult ActionName(ModelName modelObj)
 {
 //Some code here
 }


查看完整回答
反對 回復 2019-05-23
  • 3 回答
  • 0 關注
  • 822 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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