Jquery 使用asp.net mvc上载数据和信息(名称、标题)

Jquery 使用asp.net mvc上载数据和信息(名称、标题),jquery,asp.net-mvc,file-upload,Jquery,Asp.net Mvc,File Upload,这是我的cs代码 [HttpPost] $('.submit').click(function () { var myData = { name: $('#name').val(), resources: $('#resources').val(), } $.ajax({ url: '/Controller/Action', type: 'POST', data: new FormData(t

这是我的cs代码

[HttpPost]

$('.submit').click(function () {
    var myData = {
        name: $('#name').val(),
        resources: $('#resources').val(),
    }
    $.ajax({
        url: '/Controller/Action',
        type: 'POST',
        data: new FormData(this) + myData,
        processData: false  
    }).done(function () {

    }).fail(function () {

    });
});
如果我在数据中发送myData,则没有问题。我做错了吗?或者是否有其他方法可以上载文件并获取附加数据,以便存储在sql server中

所以我不想使用任何jQuery插件


谢谢,

理想的解决方案是使用视图模型

public ActionResult View(HttpPostedFileBase file,Info myinformation)
{
    //my problem is , debuggers gets hit in this controller but file and myinformation data are null . 
    return View("index");
}
您的HttpPost操作将接受此对象

public class Create
{
public HttpPostedFileBase File {set;get;}
public Info MyInformation {set;get;} 
}
而ajax将是

[HttpPost]
public ActionResult View(Create model)
{
  // do something and return something
}

#name
#resources
是否与文件输入的形式一致?@Musa是的。它们可以是来自用户端的任何内容。嗯,文件的值在回帖中为空。您在哪里传递文件的值?我猜这$(“#resources”).val()提供了文件名,而不是按照我的要求传递整个文件:),那么是什么让您插入整个文件的呢。我可以给你让路,但你必须解决你自己的问题。最终我分开做了。我为他们两人做出了不同的行动结果。不是最好的办法,但别无选择,时间有限。谢谢:)
$('.submit').click(function () {
var myData = {
    MyInformation: $('#name').val(),
    File: $('#resources').val(),
}
$.ajax({
    url: '/Controller/Action',
    type: 'POST',
    data: myData,
    processData: false  
}).done(function () {

}).fail(function () {

});
});