Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中检索附加到formData的数据_C#_Jquery - Fatal编程技术网

C# 在C中检索附加到formData的数据

C# 在C中检索附加到formData的数据,c#,jquery,C#,Jquery,在这种情况下: var xhr = new XMLHttpRequest(); var fd = new FormData(); fd.append("file", document.getElementById('fileUpload').files[0]); fd.append("PhoneId", '1234'); xhr.open("POST", '/Main/Upload', true); xhr.send(fd); xhr.addEventListener('load', funct

在这种情况下:

var xhr = new XMLHttpRequest();
var fd = new FormData();
fd.append("file", document.getElementById('fileUpload').files[0]);
fd.append("PhoneId", '1234');
xhr.open("POST", '/Main/Upload', true);
xhr.send(fd);
xhr.addEventListener('load', function (event) {
    var test = event.target.response;
})
我上传了一个文件,并附上了一个整数。我的控制器是:

 public ActionResult Upload(Model newModel)
    {
        NewFiles files = new NewFiles ();
        try
        {
            HttpPostedFileBase file = Request.Files[0];
        }
        catch(Exception)
        {}
    }

public class newModel
{
    public int FileID { get; set; }

    public string ReturnAction { get; set; }

    public HttpPostedFileBase fileUpload { get; set; }

    public int PhoneId { get; set; }
}

上传的文件会被识别,但在C中我需要什么来查看上传的PhoneId?

您的语法在控制器中有点不正确,无法编译。将控制器更改为以下语法应该可以工作。这显示了如何访问发布的文件和模型属性

    [HttpPost]
    public ActionResult Upload(newModel model, HttpPostedFileBase file)
    {
        // Check the file is valid.
        if (file == null || file.ContentLength == 0 || string.IsNullOrEmpty(file.FileName))
            ModelState.AddModelError("fileUpload", "Invalid file uploaded.");

        // Access model properties as you wish, like this:
        int phoneID = model.PhoneId;

        return null;
    }
要改进您的代码,还需要做一些额外的事情:

一般来说,在定义类时,类的名称应采用大写字母的格式。 如果在AJAX请求中使用jQuery,而不是使用普通的JavaScript方式,那么会容易得多。通过使用普通的JavaScript方式,您必须手动将表单属性分配给FormData对象,而使用jQuery您可以简单地执行$formID.serialize。
使用Request.PhoneId或Request.PhoneId[0]它说HttpRequestBase不包含PhoneId的定义,该定义不应该在newModel中传递吗?它应该在ViewModel中,可以打印newModel并显示其中的内容吗?我不是一个c开发人员。但这有助于其他人发现问题